像GCC,RM,CP等常用程序似乎遵循一個模式在報道他們的錯誤是這樣的:標準錯誤報告
程序:錯誤
例如:
$ gcc
gcc: no input files
是在我自己的C程序中應該調用一些標準函數或宏來以標準方式報告錯誤?
像GCC,RM,CP等常用程序似乎遵循一個模式在報道他們的錯誤是這樣的:標準錯誤報告
程序:錯誤
例如:
$ gcc
gcc: no input files
是在我自己的C程序中應該調用一些標準函數或宏來以標準方式報告錯誤?
沒有宏(我知道的)。但是,以下是用於格式化錯誤輸出的相關standard。
如果您不知道perror
和strerror
(等),他們值得了解。它們不是以任何方式通用的,但至少在某些情況下可能會有所幫助。
它可以追溯到Unix編程的最早日子。始終建議錯誤消息以生成它們的命令的名稱爲前綴,尤其是如果在命令管道中發生錯誤,您可以確定哪些命令會生成錯誤消息。您可以在K & R第1版中的某些示例程序(不全是)以及Kernighan & Plauger的'軟件工具'以及Kernighan & Pike的'UNIX編程環境'中看到樣式。
對於此類錯誤消息,沒有完全標準的工具 - 函數或宏。 (我有一個廣泛和全面的錯誤報告功能,可以在消息前打印程序名稱。)
另外http://libexplain.sourceforge.net/如果您發現perror/strerror仍然太麻煩。 – ephemient 2010-11-27 04:45:41