如何将cppcheck的输出重定向到文件中?

时间:2017-06-07 18:23:04

标签: linux bash redirect stdout cppcheck

我想将cppcheck的输出重定向到文本文件。它会向stdout打印大量信息,但如果我cppcheck --enable=all --verbose . > /srv/samba/share/tmp/cppcheck.out,我不会获取文件中的所有信息,为什么不呢?

1 个答案:

答案 0 :(得分:4)

最新的开发版cppcheck包含一个新选项:

--output-file=<file name>

添加此选项可将输出定向到特定文件。

用法示例:

默认情况下,cppcheck将其结果打印到stdout:

$ cppcheck --enable=all test.cpp 
  Checking test.cpp ...
  [test.cpp:54]: (style) The scope of the variable 'middle' can be reduced.
  (information) Cppcheck cannot find all the include files (use --check-config for details)

您可以使用选项--output-file按如下方式将结果存储在report.txt中:

$ cppcheck --enable=all --output-file=report.txt test.cpp 
Checking test.cpp ...

现在结果存储在report.txt:

$ more report.txt 
[test.cpp:54]: (style) The scope of the variable 'middle' can be reduced.
(information) Cppcheck cannot find all the include files (use --check-config for details)

作为替代方案,您可以将输出重定向到文件:

$ cppcheck --enable=all test.cpp 2> report.txt
Checking test.cpp ...

现在结果存储在report.txt:

$ more report.txt 
[test.cpp:54]: (style) The scope of the variable 'middle' can be reduced.
(information) Cppcheck cannot find all the include files (use --check-config for details)