打印系统命令到文本文件c ++

时间:2017-04-05 15:50:52

标签: c++ ofstream

我有以下代码,但是当我运行它时,打印输出而不是复制到文本文件。

void checkText()
{
    ifstream my_file("test.txt");
    if (my_file.good()) {
        cout << "File exist" ;
    }
    else {
        ofstream outputFile;
        outputFile.open("test.txt");
        outputFile << system("head -n 1024 words.txt");
        outputFile.close();
        cout << "Done!\n";
    }
}

如何将系统命令打印到我的文本文件?

2 个答案:

答案 0 :(得分:1)

system返回int而不是执行命令的“输出”。

执行此操作的一种方法是将命令重定向到所需的文件:

    std::system("head -n 1024 words.txt > test.txt");

答案 1 :(得分:0)

你也可以使用 用于在文本文件中打印输出 freopen函数();命令

freopen("input file name.txt", "r", stdin);
freopen("output file name.txt", "w", stdout);