私は C++ でサーバー アプリケーションを実行しており、HTTP 要求への応答として HTML ページを提供します。
問題は、現在、私の Web ページがコード内の定数文字列として記述されており、文字列自体の書き込み中に、<<
演算子とを使用して他の文字列を挿入していることです。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";
、2 番目のリクエストではを送信しますfirst = "anything else"
。
sscanf/sprintf
また、 fromに戻ってstdio.h
必要なテキストを挿入することもできます。文字列のギャップを適切な形式 ( ) に置き換え、%s
ファイルから HTML 構造を読み取り、必要なものを挿入するだけです。
Cライブラリ関数なしでC++でこれを行いたいのですが、これを行うために何を使用すればよいかわかりませんでした。これに対するC++ の標準的な解決策は何でしょうか?