1.标准文件相关联的文件指针
2.fopen的打开模式
3.应用举例
- #include<stdio.h>
- #include<stdlib.h>//包含exit的原型
- int main(int argc,char *argv[]){
- int count = 0;//统计字符
- FILE * fp;//文件指针
- int ch;//使用int类型来保存读进来的字符
- if(argc != 2){
- printf("Usage:%s \n",argv[0]);
- exit(-1);//关闭文件并终止程序,传递0或EXIT_SUCCESS表示程序成功终止,非0或EXIT_FAILURE表示程序非正常终止
- //return和exit基本一致,只是在递归中,exit直接终止而return则返回上一级
- }
- if((fp = fopen(argv[1],"r")) == NULL){//第一个参数是要打开的文件的文件名(也就是一个字符串指针),第二个参数是一个打开模式
- printf("Can't open %s\n",argv[0]);//如果成功返回一个文件指针,该指针并不指向实际的文件,而是指向一个关于文件的信息的数据包。
- exit(-1);//如果失败则返回NULL
- }
- while((ch = getc(fp))!=EOF){//getc需要一个文件指针,返回当前正在读取的字符,如果是到达文件尾,返回EOF(-1)
- putc(ch,stdout);//puts第一个参数是一个字符,第二个参数是一个文件指针
- count++;//EOF是一个返回值,并不真实存在于文件中!
- }
- if(fclose(fp) != 0){//如果fclose成功返回0,不成功返回EOF
- printf("Has a problem of fclose!");}
- printf("\n%d",count);
- getchar();
- return 0;
- }
转载于:https://blog.51cto.com/fanaticssk/829216