C - UNIX - 检查getpriority()是否返回错误

时间:2013-11-21 16:47:48

标签: c unix operating-system system

我想知道如何检查getpriority()返回的值-1是错误还是合法值。我阅读了手册:

  

返回值

  Since  getpriority() can legitimately return the value -1, it is neces-
  sary to clear the external variable errno prior to the call, then check
  it  afterwards  to  determine  if -1 is an error or a legitimate value.

我真的不知道如何使用变量errno,因为我总是使用perror()来显示错误......

1 个答案:

答案 0 :(得分:3)

做它说的!清除errno的值,然后调用,然后进行检查。

#include <errno.h>
#include <sys/time.h>
#include <sys/resource.h>

errno = 0;
int val = getpriority();
if (val == -1 && errno) {
  // we have an error!
}