使用C++将结果保存到文件中

-4 c++ c++builder visual-c++

我有这个代码的问题.

我在代码中寻找的是随机获得"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)

joh*_*ohn 5

您正在错误的位置打开文件.在循环之前打开文件一次,在循环之后关闭文件一次.像这样.

myfile.open ("example.txt");
for (int i=0; i<100 ;i++)
{   
   ...
}
myfile.close();
Run Code Online (Sandbox Code Playgroud)

打开文件进行输出时,删除文件中当前的文件.因此,如果您在循环内打开文件,那么您将丢失之前编写的随机数.