我有这个代码的问题.
我在代码中寻找的是随机获得"first"和"second"的结果并将结果放入文件中.
它的伟大工程,如果我不使用该文件运行它,我得到的所有正确的结果,但是当我尝试将结果保存在文件中,我只得到其中包含的第一个节点(第一,secnd).
这是代码:
#include<iostream>
#include <fstream>
#include<cmath>
using namespace std;
void main()
{
int first[100],secnd[100];
for (int i=0; i<100 ;i++)
{
first[i]=rand()%500; //random number from to 499
secnd[i]=rand()%500; //random number from to 499
ofstream myfile;
myfile.open ("example.txt");
myfile << "Writing this to a file.\n";
myfile <<first[i]<<" "<<secnd[i];
myfile.close();
}
}
Run Code Online (Sandbox Code Playgroud)
您正在错误的位置打开文件.在循环之前打开文件一次,在循环之后关闭文件一次.像这样.
myfile.open ("example.txt");
for (int i=0; i<100 ;i++)
{
...
}
myfile.close();
Run Code Online (Sandbox Code Playgroud)
打开文件进行输出时,删除文件中当前的文件.因此,如果您在循环内打开文件,那么您将丢失之前编写的随机数.