关于c语言文件操作-使用a+模式打开
使用a+模式打开文件竟然不能使用fgets()读,
然后我使用fgetc()读了一个字节,发现竟然是 -1,这不是文件结束符EOF吗(文件里有文本,使用r+方式打开就可以读出来)
然后我使用fseek()设置了一下偏移,可以读出来东西了,不过是乱码
这是怎么回事,怎样文件的第一个字节是-1呢,而且怎样用r+就能读出来了,用a+写没问题但是读不出来。
望大神赐教
[解决办法]
a+表示用附加方式打开可读写的文件,即文件被打开时,文件的访问指针是在结尾,所以fgetc读取返回-1。而r+开打文件时,指针是在文件开头的,不一样。