1.读字符串函数fgets()
fgets()函数的功能是从指定的文件中读一个字符串到字符数组中,函数调用的形式为:
fgets(字符数组名,n,文件指针);
其中的n是一个正整数,表示从文件中读出的字符串不超过n-1个字符。在读入的最后一个字符后自动加上字符串结束标志“′\0′”。
例如:
fgets(str,n,fp);
它表示从fp所指的文件中读出n-1个字符送入字符数组str中。
【例10.3】从文本文件中读出一个含10个字符的字符串,并将该字符串在屏幕上显示出来。
程序内容如下:
1 #include<stdio.h>
2 #include<stdlib.h>
3 int main()
4 {
5 FILE*fp;
6 char str[11];
7 if((fp=fopen(“c:\\file3.txt”,”r”))==NULL)
8 {
9 printf(“cannot open file3.txt!\n”);
10 exit(0);
11 }
12 fgets(str,11,fp);
13 printf(“%s\n”,str);
14 fclose(fp);
15 }
程序结果如图10.3所示:
图10.3 例10.3程序结果图
【例题中关键问题说明】
(1)本例定义了一个含有11个元素的字符数组str。
(2)在以读文本方式打开文件file3.txt后,从中读出10个字符送入str数组,在数组最后一个单元内将加上“′/0′”,然后在屏幕上显示输出str数组。
2.写字符串函数fputs()
fputs()函数的功能是向指定的文件写入一个字符串,其调用形式为:(www.xing528.com)
fputs(字符串,文件指针);
其中字符串可以是字符串常量,也可以是字符数组名,或指针变量。
例如:
fputs("abcd",fp);
其意义是把字符串“abcd”写入fp所指的文件之中。
【例10.4】在文本文件末追加一个字符串。
程序内容如下:
1 #include<stdio.h>
2 #include<stdlib.h>
3 int main()
4 {
5 FILE*fp;
6 char str[20];
7 if((fp=fopen(“c:\\file4.txt”,”a+”))==NULL)
8 {
9 printf(“cannot open file4.txt!\n”);
10 exit(0);
11 }
12 printf(“input a string:\n”);
13 scanf(“%s”,str);
14 fputs(str,fp);
15 fclose(fp);
16 }
程序结果如图10.4所示:
图10.4 例10.4程序结果图
【例题中关键问题说明】
本例在文件末加写字符串,因此在程序中以追加读写文本文件的方式打开文件file4.txt。然后输入字符串,并用fputs函数把该字符串写入文件。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。