質問 |
||
| 質問者: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 |
|
| この回答へのお礼 | すみません。勘違いでした。 無事動作いたしました。 お手数おかけしました。 |