C语言中,当errno为一个非零值时,是否有错误发生?
许多标准的C库函数都通过全局变量errno向程序传递一个错误号,以表明发生哪种错误,但是,你的程序不应该通过检查errno的值来判断是否发生了错误。通常,被调用的标准的C库函数都有一个返回值,该值将表示是否发生了错误,并且表示是否已给errno赋予了相应的错误号。在没有发生错误或所调用的函数不使用errno时,在errno中很可能仍然保留着一个错误号。有时,为了改善运行速度,使用errno的函数并不将errno清零。
总之,绝对不能单凭errno的值来判断是否发生了错误,而应该根据函数的返回值来判断是否应该检查errno的值。请参考你所使用的编译程序的有关文档,看看哪些函数使用了errno全局变量,以及errno的有效值清单。
总之,绝对不能单凭errno的值来判断是否发生了错误,而应该根据函数的返回值来判断是否应该检查errno的值。请参考你所使用的编译程序的有关文档,看看哪些函数使用了errno全局变量,以及errno的有效值清单。