获取C ++程序写入文件

时间:2014-01-11 05:20:19

标签: c++ linux terminal g++

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

那么有没有办法让C ++程序自动将随机数写入文件?或者是否可以编写一个可以使C ++输出执行相同操作的shell脚本?我在ubuntu 13.04上使用g ++。

2 个答案:

答案 0 :(得分:1)

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

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

如果已经完成程序,更简单的方法就是重定向输出。这意味着当您运行程序时添加&gt; myNums.txt到最后。例如:

./myProg > myNums.txt

答案 1 :(得分:0)

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

program > file

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

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

  

Redirection (computing)

有关交互式命令解释程序bash如何为您提供帮助的详细信息,请参阅:

  

Bash Reference Manual

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