读书人

关于c语言文件操作-使用a+形式打开

发布时间: 2014-01-05 18:22:55 作者: rapoo

关于c语言文件操作-使用a+模式打开
使用a+模式打开文件竟然不能使用fgets()读,
然后我使用fgetc()读了一个字节,发现竟然是 -1,这不是文件结束符EOF吗(文件里有文本,使用r+方式打开就可以读出来)
然后我使用fseek()设置了一下偏移,可以读出来东西了,不过是乱码

这是怎么回事,怎样文件的第一个字节是-1呢,而且怎样用r+就能读出来了,用a+写没问题但是读不出来。
望大神赐教

[解决办法]
a+表示用附加方式打开可读写的文件,即文件被打开时,文件的访问指针是在结尾,所以fgetc读取返回-1。而r+开打文件时,指针是在文件开头的,不一样。

读书人网 >C语言

热点推荐