当前位置: 技术问答>linux和unix
fopen函数返回NULL,打印errno值为0,perror打印结果为Error 0,fopen失败原因是什么啊
来源: 互联网 发布时间:2017-04-21
本文导语: 使用fopen(file,"a+");去创建一个文件,fopen无法正常执行,查看errno的值,并调用perror打印信息,结果errno值为0,打印的信息为Error 0,很奇怪,感觉errno没有被改写,但fopen确实执行失败了,返回值是NULL,各位大神,这...
使用fopen(file,"a+");去创建一个文件,fopen无法正常执行,查看errno的值,并调用perror打印信息,结果errno值为0,打印的信息为Error 0,很奇怪,感觉errno没有被改写,但fopen确实执行失败了,返回值是NULL,各位大神,这是咋回事,小弟求解答
|
求代码,求真相
|
看看路径,实在不行就换一个函数试一下,用open()这个函数比较好
|
路径正确吗?
|
FILE *fopen(const char *path, const char *mode);
//路径对么?你怎么定义你的file变量的呢?
|
试试看显式的制造一个错误,看看errno是否会被置为非0.
http://stackoverflow.com/questions/16507816/what-kind-of-errors-set-errno-to-non-zero-why-does-fopen-set-errno-while
http://stackoverflow.com/questions/16507816/what-kind-of-errors-set-errno-to-non-zero-why-does-fopen-set-errno-while
|
++
|
程序是不是root身份执行的?可能是操作权限的问题,可以尝试先以只读打开文件看是否成功