linux下的strerror和perror

             strerror和perror用于获取error相关的错误信息,strerror接受一个int,perror接受一个字符串。

#include 
#include 
#include 


int main(int argc,char *argv[])
{
    printf("%s\n",argv[0]);


    errno=2;
    printf("%s\n",strerror(errno));
    perror(argv[0]);

    return 0;
}

编译运行:

[mapan@localhost APUE]$ ./a.out 
./a.out
No such file or directory
./a.out: No such file or directory
argv[0]=./a.out,把上述代码中的argv[0]换成argv[1],编译并运行。

[mapan@localhost APUE]$ ./a.out 1111
1111
No such file or directory
1111: No such file or directory
这证明argv[1]只表示输出前面指定的参数,与错误码无关。perror()输出的错误只与errno有关,与传入的参数无关。




你可能感兴趣的:(linux)