持之以恒
分类: C/C++
2008-02-10 17:21:22
①文件指针的定义:FILE*fp(fp即为文件类型的指针)
②在使用一个文件前必须打开文件
方法是:if((fp=fopen(“filename”,”r”))==NULL);
{ printf(“cannot open
the file”);
Exit(0);
}
③使用完一个文件应该关闭它
方法是:fclose(fp);
④判定文件是否结束的两种方法
1文本文件结束的标志是文件输入字符为EOF
使用方法是:
ch=fgetc(fp);//从指定的文件中读入一字符
while(ch!=EOF)
{ visite(ch);
ch=fgetc(fp);
}
注意:这种方法只适用于文本文件,而不适用于二进制文件
2 feof(fp)函数来判定文件是否结束
文件未结束时,feof(fp)的值是0
使用方法是:
while(!feof(fp))
{ c=fgetc(fp);
Visite(c);
}
注意:该方法即适用于文本文件,也适用于二进制文件
⑤常用的文件读写函数:
1.fputc函数:把字符输出到指定文件
调用形式:fputc(ch,fp);
2.fgetc函数:从指定文件取得一个字符
调用形式:ch=fgetc(fp);
3.fread函数:从指定文件读取数据项
调用形式:fread(buffer,size,count,fp);
4.fwrite函数:把数据项写到指定文件
调用形式:fwrite(buffer,size,count,fp);
5.fputs函数:把字符串输出到自定文件中去
调用形式:fputs(str,fp);
6.fgets函数:从指定文件中读入一字符串
调用形式:fgets(str,n,fp);
例一:测试文件中的字符数
#include
void main()
{ FILE *fp;//建立文件指针
char ch;
int num=0,word=0;
if((fp=fopen("data.txt","r"))==NULL)//打开文本文件
{ printf("cannot open
the file");
Exit(0);
}
ch=fgetc(fp);//从文件中读入一个字符
while(ch!=EOF)//判定是否是文件结尾
{ if(ch==' ')
word=0;
else if(ch==10)//10代表换行,13代表回车哦~~
word=0;
else if(word==0)
{ word=1;
num++;
}
ch=fgetc(fp);
}
fclose(fp);
printf("文件中共有%d个单词\n",num);
}