[quote=引用 楼主 其实一开始我是拒绝的的回复:]fl2-3.txt中多了一个2。就是将fl2-2.txt中的实数取整四舍五入到fl2-3.txt中为什么循环多了一次?
fl2-3.txt中多了一个2。就是将fl2-2.txt中的实数取整四舍五入到fl2-3.txt中为什么循环多了一次?
fgetc()再读一次,结果为读取失败 那为什么还会多输出一次,不是读取失败了?还多输出?
feof判断的方法不是比较当前位置和文件长度,而是查看一个结束标志,这个标志需要fgetc等函数读取失败后才会改写,因此在到达文件尾后,fgetc再读取一次,结果为读取失败后,feof才判断出文件尾 可以这样用: FILE *p = fopen("1.txt" , "r"); char c= fgetc(p); while( feof(p) == 0 ) { printf("%d ", c); //查看上一次读取到的内容 c = fgetc(p); } feof挺难用的,可以看看eof函数: int fd = open( "1.txt" , O_RDONLY | O_TEXT ); //文本只读模式 char c=0; while( eof( fd ) == 0 ) { read( fd , &c , 1 ); printf("%d ", c); } close(fd);
69,373
社区成员
243,080
社区内容
加载中
试试用AI创作助手写篇文章吧