我一直在寻找在C程序中发布错误的标准方法。 最好的方法是什么:
感谢。
答案 0 :(得分:0)
取决于:(1)是可移植的,(2)特定于GNU / Linux但可能很方便。所以,这取决于你的程序的可移植性。
您还可以使用error
功能,并将其便携版本与您的程序一起发送给其他平台的用户。然后,您必须将程序名称存储在main
中的某个全局变量中。
答案 1 :(得分:0)
What is the best way:
- use `fprintf()` to stderr and exit with a code or
- Use `perror()` function as explained here.
首先,假设它们是不可恢复的错误,您应该退出这两种情况。您应该使用stdlib.h中的函数exit()退出:
exit( EXIT_FAILURE );
返回的错误代码对操作系统很重要,并且在所有操作系统中都不一样。
关于您的确切问题,使用fprintf()
打印到stderr
是正确的,您可以发出所有类型的错误(errno
和其他人认可的错误),并为您提供自由产生自己的消息错误。使用perror()
会生成无法更改的标准错误消息。