• 締切済み

C++でのファイル書き込み

現在C++でHTMLのファイルを作成しようとしているのですが ファイルに書き込むのは std::ofstream ofs( "test.txt", std::ios::out | std::ios::app ); ofs << "append test" << std::endl; という風な書き方でよいとおもうのですが、 HTMLファイルには <A HREF="index.html">back</A> のように""が含まれるのでこれをそのまま上の分に入れようとしてもおかしくなってしまいます なにかよい方法はないでしょうか?

みんなの回答

回答No.2

"や\などの文字は、ANo.1の回答のように、\でエスケープします。 \⇒\\ "⇒\" 改行⇒\n タブ⇒\t その他「""の中に入れたらヤバそうな物」は、文字コードを16進数2桁で指定して \⇒\x5c "⇒\x22 改行⇒\x0a タブ⇒\x09 と書いても良いです。 なお、16進数2桁の後に、0~9、A~F、a~fを「ただの文字」として続けたい場合は "abcd\x22" "012345\x22" "abcdefg" と、文字列を途中で切って書く必要があります。 コンパイラは、文字列を並べて「"aaaaa" "bbbb" "cccc"」と書くと、繋がった文字列「"aaaaabbbbcccc"」だと解釈してくれます。 途中で切らないで "abcd\x22012345\x22abcdefg" と書くと「16進数の桁が多すぎて、文字列が変です」というエラーが出てしまいます。

  • php504
  • ベストアンサー率42% (926/2160)
回答No.1

\を付けて \" とします。 ofs << "<A HREF=\"index.html\">back</A>";