- ベストアンサー
C++でofstreamに空白を含む文字列を<<するとそれ以降の文字が書き込まれない
以下のようなテストプログラムを書いたのですが、 期待した動作になりません。 #include <fstream> int main() { std::ofstream ofs("C:/test.txt"); char moji[] = "aaa bbb"; ofs << moji << std::flush; ofs.close(); } テキストファイルにはaaaしか書き込まれず、bbbが無視されています。 ifstreamが空白文字までで処理をとめるのは知っていましたが、 ofstreamが書き込む際も同じなのでしょうか。 空白を含む文字列を書き込むにはどうすればよいでしょうか? よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> ofstreamが書き込む際も同じなのでしょうか。 当方の環境(Borland C++ Compiler)では、 "aaa bbb"の7バイトを書込みました。
その他の回答 (1)
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.2
あなたの使っている環境は? 手元の Visual Studio 2008 (Windows XP) と gcc 4.1.2 でも #1 の通り "aaa bbb" が出力されてます.
質問者
お礼
お手数おかけしました。 勘違いでした。 失礼いたしました。
お礼
すみません。勘違いでした。 無事動作いたしました。 お手数おかけしました。