让 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++ 程序写入文件 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章