标题:C的文件处理问题
只看楼主
ai8343512
Rank: 2
等 级:论坛游民
帖 子:75
专家分:94
注 册:2011-8-7
结帖率:100%
已结贴  问题点数:20 回复次数:3 
C的文件处理问题
刚才又看了一道简单的文件处理的题,可我表示我对文件处理一窍不通,所以寻求解答:
①for(ch=fgetc(fp); !feof(fp); ch=fgetc(fp)) //这里for循环应该怎么理解?  我知道fgetc是读取fp所指向文件的字符,可!feof(fp)是什么意思?
②在文件这种程序里面是不是字符的ASCII都变了?比如bianchenyang在帖子里说的:汉字内码小于零,分开算,不是32到127。 ??求解……
搜索更多相关主题的帖子: 汉字内码 一窍不通 
2012-01-20 17:27
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:7 
feof()是檢測到達文件尾部的。

授人以渔,不授人以鱼。
2012-01-20 20:04
爱德华
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:183
专家分:536
注 册:2011-5-29
得分:7 
1.feof(fp)是检测文件指针是否到达二进制文件尾部
2.那些字符的ASC码肯定没变啊。汉字又不是字符。。

算法,数据结构,windows核心编程.
2012-01-20 20:58
apull
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:三体星系
等 级:版主
威 望:185
帖 子:1404
专家分:8479
注 册:2010-3-16
得分:7 
for(ch=fgetc(fp); !feof(fp); ch=fgetc(fp))
for语句执行顺序:
先执行ch=fgetc(fp);再判断!feof(fp);为true,执行ch=fgetc(fp),否则跳出for。
这里就是读取文件,直到文件结尾处。

光读取不修改的话ascii是不会变的,一般是用2个ascii字符表示一个汉字字符,所以要根据情况具体处理。
2012-01-21 01:18



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-359906-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.589910 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved