读书人

fout有关问题求问

发布时间: 2012-07-30 16:19:05 作者: rapoo

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"))
……

读书人网 >C++

热点推荐