Shell追加重定向替换现有文本?

时间:2019-06-01 12:12:25

标签: c++ linux shell unix

对于我们的学校作业,我们必须实现输入/输出重定向。我设法完成了输入和输出重定向的工作,但是我遇到了追加重定向的问题。

我正在使用testfile.txt:

test line 1
test line 2

当用户键入ls >> testfile.txt时,我希望ls的输出被添加到测试文件中。此时,测试行将被ls程序的输出替换。

我用来打开文件的权限如下:

    file = open(redirect.getNewFile().c_str(), O_WRONLY | O_TRUNC, S_IRWXU);

有人知道哪里出了问题吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

用O_APPEND替换O_TRUNC。