分类: LINUX
2012-05-09 16:24:20
#include
#include
#include
通过一段程序来看他们的区别:
// p_str_error.c
// perror , strerror 函数 , errno 测试
#include
#include
#include
#include
int main(int argc, char *argv[])
{
FILE *fp;
char *buf;
if( (fp = fopen(argv[1], "r")) == NULL)
{
perror("perror"); // 好方便
errno = 12;
printf("strerror: %s\n", strerror(errno)); //转换错误码为对应的错误信息
exit(1);
}
perror("perror");
errno = 13;
printf("strerror: %s\n", strerror(errno));
fclose(fp);
return 0;
}
--------------------------------------------------------------------
./a.out 111
open失败则会输出:
0perror: No such file or directory
strerror: Cannot allocate memory
p0perror: Success
strerror: Permission denied