ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

質問者:rotofrot 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が書き込む際も同じなのでしょうか。

空白を含む文字列を書き込むにはどうすればよいでしょうか?

よろしくお願いいたします。
質問投稿日時:08/04/07 04:12
質問番号:3928622
この質問に対する回答は締め切られました。
最新から表示回答順に表示良回答のみ表示

回答

良回答10pt

回答者:Tacosan あなたの使っている環境は?
手元の Visual Studio 2008 (Windows XP) と gcc 4.1.2 でも #1 の通り "aaa bbb" が出力されてます.
種類:補足要求
どんな人:一般人
自信:参考意見
回答日時:08/04/07 12:34
回答番号:No.2
この回答へのお礼お手数おかけしました。
勘違いでした。
失礼いたしました。

回答

良回答20pt

回答者:asuncion > ofstreamが書き込む際も同じなのでしょうか。

当方の環境(Borland C++ Compiler)では、
"aaa bbb"の7バイトを書込みました。
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:08/04/07 07:18
回答番号:No.1
この回答へのお礼すみません。勘違いでした。
無事動作いたしました。
お手数おかけしました。
 
最新から表示回答順に表示良回答のみ表示