我想创建一个C++程序来将随机数生成到一个文件中
我正在制作一个 C++ 程序来生成一百万个随机数(我已经将它们生成为一次 cout 输出,所以我有处理能力)并且我想将它们写入一个文件中。
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <fstream>
using namespace std;
int main() {
srand(time(NULL));
int value;
ofstream file ("numbers.txt");
file.open ("numbers.txt", ios::out | ios::app );
int i = 0;
while (i < 1000000)
{
value = rand();
file << value;
}
file.close();
}
这是我当前的代码,我没有收到任何错误,但是当我运行它时,我在文件资源管理器中看到一个空的 txt 文件。谁能告诉我这里有什么问题?
我只尝试了 100 个号码,却得到了一个空白文本文件
回答
不要重新打开同一个文件:
...
ofstream file ("numbers.txt");
file.open ("numbers.txt", ios::out | ios::app ); // Remove this line
int i = 0;
...
这将使它起作用。但是,程序永远不会停止,因为您也忘记了递增i!
- `file.close();` is unnecessary for a similar reason.