Я выполняю серверное приложение на C++ и предоставляет HTML-страницу в качестве ответа на запросы HTTP.Стандартная замена C++ для (ов) printf
Проблема заключается в том, что, на данный момент, моя веб-страница написана как константной строки в моем коде, и я вставлять другие строки с помощью <<
оператора и std::stringstream
, еще во время написания самой строки. Смотрите пример, чтобы получить его понятнее:
std::string first("foo");
std::string second("bar");
std::string third("foobar");
std::stringstream ss;
ss << "<html>\n"
"<head>\n"
"<title>Bitches Brew</title>\n"
"</head>\n"
"<body>\n"
"First string: "
<< first << "\n"
"Second string: "
<< second << "\n"
"Third string: "
<< third << "\n"
"</body>\n"
"</html>";
Случается, хотя я не могу просто набивать содержимое в файле, так как данные, смешанные с HTML-структурой будет изменяться во время выполнения. Это означает, что я не могу просто написать всю страницу в файле со строковыми значениями first
, second
и third
, так как эти значения будут динамически изменяться.
Для первого запроса я пришлю страницу с first = "foo";
, тогда как во втором запросе у меня будет first = "anything else"
.
Кроме того, я мог бы просто вернуться к sscanf/sprintf
из stdio.h
и вставить текст, я хочу - я бы просто заменить строку пробелов в надлежащем формате (%s
), прочитать структуру HTML из файла, и вставьте все, что я хотел.
Я хотел бы сделать это на C++, без функций библиотеки C, но я не мог понять, что использовать для этого. Каким будет решение для C++ ?
Вы перезапись на ' \ п 'часть. – chris
@chris Спасибо, что указали это, но на самом деле это не влияет на проблему. Во всяком случае, я редактировал код. – Rubens
@Rubens Я не уверен, что понял предложение «Случается, хотя я не могу просто заполнить содержимое в файле, потому что данные, смешанные с структурой HTML, будут меняться во время выполнения». - Не могли бы вы прояснить? Чего вы пытаетесь достичь? –