1

我有一个 .cxx 文件和 cmake 文件来帮助编译。但是,当我在 linux 终端上运行代码时,会输出正确的文件,以及一些 (null) 文件(即 (null).5252 )。我试图system("sudo rm -- \(null\)*");在 .cxx 代码中使用来删除(空)文件,但它似乎不起作用。它给了我错误:

sh: 1: Syntax error: "(" unexpected

谢谢

4

1 回答 1

1

在您传递给的字符串中system(),由于反斜杠,括号被逐字解释。这不是你真正想要的。您想在字符串中传递反斜杠,因此您需要自己转义反斜杠。

system("sudo rm -- \\(null\\)*");

或者您可以引用文件名而不是转义括号。

system("sudo rm -- \"(null)*\"");
于 2013-08-02T17:34:11.520 回答