编译:
gcc -o stderror stderror.c
运行:
./stderror
结果:
EACCES: Permission denied
./stderror: No such file or directory
程序说明:
程序中的argv[0]指的是./stderror,其作为参数传递给perror。这是一个标准的UNIX惯例。使用这种方法,在程序作为管道线的一部分执行时,例如:
prog1 < inputfile | prog2 | prog3 > ouputfile
我们就能分清三个程序中哪一个产生了一条特定的出错消息。