c语言 读取文件内容检查文件格式 是否是xml,c语言读取文件内容跳过空格
读取文件的文本内容:要读取的目标文件:
要阅读的目标内容:
请在运行之前将代码文件和要读取的文件放在同一个目录中。
#包含stdio.h
int main(void){
int ch
FILE * fp
char fname[FILENAME _ MAX];
Printf(文件名:);
scanf(%s ,fname);
if((fp=fopen(fname, r )==NULL){
printf(文件无法打开。\ n’);
}否则{
while ((ch=fgetc(fp))!=EOF){
putchar(ch);
}
fclose(FP);
}
返回0;
}运行结果:
# define FILENAME _ MAX 1024
在这个运行环境中,打开文件并保持此类文件名的最大长度所需的数组元素数量是有保证的。
Fgetc功能:
头文件
原型
解释
返回值
#包含stdio.h
int fgetc(FILE * stream);
从流所指向的输入流中读取无符号char的下一个字符的值(如果存在),将其转换为int,如果定义了流的文件位置指示符,则将其向前移动。
返回stream指向的输入流中的下一个字符。如果在流中检查到文件的结尾,则设置流的文件结果指示符,并返回EOF。如果发生读取错误,则设置流的错误符号并返回EOF。
正常从文件中读取字符时,会进入while循环语句,通过putchar(ch)语句将读取的字符ch显示在界面上。
当到达文件末尾(后面没有字符)或发生错误时,while语句循环将结束,文件将关闭,程序将结束。
读取文件数据内容:要读取的数据内容:
#包含stdio.h
int main(void){
FILE * fp
int count=0;
char name[100];
身高、体重翻倍;
double hsum=0.0
double wsum=0.0
if ((fp=fopen(students.txt , r )==NULL){
文件printf(\a无法打开。\ n’);
}否则{
while (fscanf(fp, %s%lf%lf ,name,height,weight)==3){
printf(%-10s %5.1f %5.1f\n ,姓名,身高,体重);
数数;//计算数据的数量
hsum=身高;//对高度求和
wsum=重量;//对权重求和
}
printf(-\ n );
Printf (average% 5.1f% 5.1f \ n ,hsum/count,wsum/count);
fclose(FP);
}
返回0;
}运行结果:
FSF函数:
头文件
原型
解释
返回值
#包含stdio.h
int fscanf(FILE *stream,const char *format,…);
从流所指向的流而不是标准输入流中读取数据。转换读取的数据格式,并将转换结果保存到格式后参数所指向的对象中。format指向的字符串是一个格式控制字符串,它在赋值时指定输入字符串及其转换方法。格式字符串可以不包含命令,也可以包含多个命令。
如果输入错误发生而没有任何转换,则返回宏定义e of的值。否则,返回成功分配的条目数。如果输入中存在匹配错误,则返回的输入项数将小于转换说明符对应的参数数,甚至为0。
fscanf(fp, %s%lf%lf ,姓名,身高,体重);从流fp中读取1个字符串和2个双实数,分别保存到变量name,height和weight中。
注意:scanf函数和fscanf函数将返回读取的项目数。
在这个程序中,当正常读取的姓名、身高、体重项返回到3时,while语句将继续循环,直到信息无法读取(所有信息都已读取,或者因出错而无法读取)。
转载请联系作者授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。