常用文件函数总结( 二 )


效果:
使用函数前文件内容:
使用后:
若以指向标准文件的指针作为参数,可以理解为硬件设备为一个文件,将字符串输出到屏幕上(和),这个时候()和()用法是一样的,在此不再举例 。
六.()函数
()与scanf()工作方式类似,但()把FILE指针作为第一个参数 。
他将文件中的字符串作为输入传递给变量 。
如:
char ch[100];fscanf(fp,"%s",a);
以指向标准文件的指针作为参数(只有stdin):
char ch[100];fscanf(stdin,"%40s",a);//只从输入中读取40个字符(或者以回车键提前结束)
用法:
#includeint main(void){FILE *fp;char ch[1000];fp=fopen("F.txt","a+");fscanf(fp,"%s",ch);puts(ch);}

常用文件函数总结

文章插图
效果:
以stdin作为参数:
#includeint main(void){FILE *fp;char ch[1000];// fp=fopen("F.txt","a+");fscanf(stdin,"%s",ch);puts(ch);}
效果:
七.fgets()函数
它的第一个参数表示存储输入位置的地址(char*类型);第二个参数是一个整数,表示待输入字符串的大小;最后一个参数是一个指针,指定带读取的文件 。(从一个文件中读取字符串,存储到第一个参数指向的内存块中(就是存在一个字符数组里)) 。
下面是一个调用该函数的例子:
int STLEN=?;char ch[];fgets(ch,STLEN,fp);
fgets()函数读取输入直到第一个换行符后面(指以stdin作为最后一个参数的情况),或读到文件结尾,或者读到STLEN-1个字符(以上面的fgets()为例) 。然后,fgets()在末尾添加一个空字符使之成为一个字符串 。字符串的大小是其字符数加上一个空字符 。如果fgets()在读到字符上限之前已读完一行,它会把表示结尾的换行符放在空字符前面 。fgets()函数在遇到EOF时将返回NULL值,可以利用这一机制检查是否到达文件结尾;如果为遇到EOF则返回之前传给它的地址 。
用法:
#includeint main(void){FILE *fp;char ch[1000];fp=fopen("F.txt","a+");fgets(ch,100,fp);puts(ch);}
效果:
以指向标准文件的指针作为参数(stdin):
#includeint main(void){FILE *fp;char ch[1000];// fp=fopen("F.txt","a+");fgets(ch,100,stdin);//回车结束puts(ch);}
效果:
八.fputs()函数
fputs()函数接受两个参数:第一个是字符串地址;第二个是文件指针 。该函数根据传入地址找到的字符串写入指定的文件中 。和puts()函数不同,fputs()在打印字符串时不会在末尾添加换行符 。(将字符串输出到文件中)
下面是使用该函数的例子:
char ch[];fputs(ch,fp);
由于fgets()保留了换行符 。fputs()就不会再添加换行符(就把fgets()获取的换行符直接输出就好了),他们配合的非常好 。
用法:
#includeint main(void){FILE *fp;char ch[]="\nyouxiu";fp=fopen("F.txt","a+");fputs(ch,fp);}
运行前:
运行后:
以指向标准文件的指针作为参数:
#includeint main(void){FILE *fp;char ch[]="\nyouxiu";// fp=fopen("F.txt","a+");fputs(ch,stdout);}
效果:
九.fseek()函数