了解C语言中的errno

Understanding errno in C

如果我想使用可能返回错误的函数,例如thread_mutexattr_init(


第一个版本在两个版本中都是正确的(第二个版本实际上是错误的-成功时要求pthread_mutexattr_init()返回零或失败时返回正错误号;未定义设置errno,因此errno不一定相关)。

POSIX并不要求pthreads函数设置errno(它们可以设置也可以不设置-不需要)。返回值本身就是错误号。如果返回的值是0,则表示成功,如果返回的值是其他值,则可以将其分配给errno以查找错误(或使用其他任何int变量保存该值,然后将其传递给strerror(),例如例子)。