gcc,rm,cp等常见程序似乎遵循以下模式报告错误:
程序:错误
例如:
$ gcc
gcc: no input files
我是否应该从我自己的C程序中调用一些标准函数或宏来以标准方式报告错误?
答案 0 :(得分:2)
没有宏(我知道)。但是,这是格式化错误输出的相关standard。
答案 1 :(得分:2)
如果您不了解perror
和strerror
(等),则值得了解。它们不是通用的,但至少在某些情况下可能会有所帮助。
答案 2 :(得分:2)
它可以追溯到Unix编程的早期阶段。始终建议错误消息以生成它们的命令的名称为前缀,尤其是如果在命令管道中发生错误,您可以知道哪些命令生成了错误消息。你可以在一些示例程序(不是全部)中看到K& R 1st Edition中的样式,也可以看到Kernighan& Sons的'Software Tools'中的样式。 Plauger,以及Kernighan&amp ;;的“UNIX编程环境”。派克。
对于此类错误消息,没有完全标准的工具 - 函数或宏。 (我有一套广泛而全面的错误报告功能,可以在消息之前打印程序名称。)