首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

fout有关问题求问

2012-07-30 
fout问题求问写了个小程序,大致内容如下:...for(int i 1 i 1000 i++){...fout.open(result.txt)

fout问题求问
写了个小程序,大致内容如下:

...
for(int i = 1; i <= 1000; i++)
{
  ...
  fout.open("result.txt"); (前面已经定义过ofstream fout("1.txt"))
  for(int j =1; j<=256;j++)
  {
  ...
  ++n;
  }
  fout << n << endl;
  ...
}
本来想实现的功能是向result.txt中输出1000个不同的n值,但是运行之后result.txt中只有第1000个的n值,其他值没有,请问是怎么回事?谢谢!

[解决办法]
fout << n << endl;
这一句应该放到for循环里面,不然只会执行一次
[解决办法]
ofstream fout("1.txt")这个有问题,下面这样写吧:
ofstream fout("1.txt", ios::app);

你那样的写法每次都会重新创建文件,而不是在文件后面追加,所以只会出现最后一个。
[解决办法]

探讨

ofstream fout("1.txt")这个有问题,下面这样写吧:
ofstream fout("1.txt", ios::app);

你那样的写法每次都会重新创建文件,而不是在文件后面追加,所以只会出现最后一个。

[解决办法]
我觉得是 fout.open 放错地方了,应该在循环外面,否则每一次都重新开启文件,参数又没给 ios::app,总是不断清空以前的输出。
探讨
for(int i = 1; i <= 1000; i++)
{
...
fout.open("result.txt"); (前面已经定义过ofstream fout("1.txt"))
……

热点排行