让 C++ 程序写入文件 [关闭]

Posted

技术标签:

【中文标题】让 C++ 程序写入文件 [关闭]【英文标题】:Getting a C++ program to write to a file [closed] 【发布时间】:2014-01-30 06:47:31 【问题描述】:

要为竞赛创建一个编程问题,我需要大约 49999 个唯一的随机数。我已经编写了一个 C++ 程序来生成数字,但是在实际复制终端屏幕上的数字时遇到了问题,因为终端屏幕上只显示了大约 6700 个数字。

那么有没有办法让 C++ 程序自动将随机数写入文件?或者是否可以编写一个 shell 脚本来获取 C++ 输出来做同样的事情?我在 ubuntu 13.04 上使用 g++。

【问题讨论】:

你看过this吗? 将有大约十亿个 C++ 示例说明如何将信息输出到文本文件。尝试其中一个,如果你不能让它工作,然后发布问题。 好吧,反对票令人沮丧:( 【参考方案1】:

听起来你在说你正在将数字打印到标准输出并且它们正在离开屏幕。由于您使用的是 C++,因此您可以将输出指令中的 cout 替换为 ofstream(输出文件流),如下所示:

#include <fstream>
// ...
    ofstream outFile("myNums.txt");
    // ...
    outFile << myNum;

如果你已经完成了程序,一个更简单的方法是重定向输出。这意味着当您运行程序时,将 > myNums.txt 添加到末尾。比如:

./myProg > myNums.txt

【讨论】:

【参考方案2】:

假设数字现在只是打印到终端窗口:

program > file

program 是您的程序的名称 - 或您现在用来运行它的任何命令和参数 - 而file 是您要为您创建的文件指定的名称。

有关此特定解决方案的更多信息,请参阅:

Redirection (computing)

有关交互式命令解释器 bash 如何为您提供帮助的更多信息,请参阅:

Bash Reference Manual

Bash 是当今 Linux 和许多其他 Unix 和类 Unix 操作系统上最常用的 shell 程序,但几乎所有其他 Unix shell 都是自古以来的 - 1969 年 12 月 31 日和 1970 年 1 月 1 日的午夜-- 使用了相同的程序标准输入输出 -- 和错误 -- 语法。

【讨论】:

以上是关于让 C++ 程序写入文件 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

C++ 文件 - 写入、读取、数组; [关闭]

如何使用 C++ 在 .txt 文件中写入、读取和重写

C++ 如何将一个文件里的数据写入到另一个文件里?

为啥 Windows 任务管理器在写入非常大的文件时显示内存增加?我应该担心吗? [关闭]

在c ++中写入csv文件失败[关闭]

在c ++中向/从文件读取写入变量