首页 理论教育 使用fgets()和fputs()读写文件字符串

使用fgets()和fputs()读写文件字符串

时间:2023-10-29 理论教育 版权反馈
【摘要】:在读入的最后一个字符后自动加上字符串结束标志“′\0′”。在文本文件末追加一个字符串。然后输入字符串,并用fputs函数把该字符串写入文件。

使用fgets()和fputs()读写文件字符串

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函数把该字符串写入文件。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈