vlambda博客
学习文章列表

C语言fgets()函数:以字符串形式读取文件

点击上方蓝字关注我,了解更多咨询
C语言fgets()函数:以字符串形式读取文件

C语言 fgets() 函数从文本文件中读取一个字符串,并将其保存到内存变量中。fgets() 函数位于 <stdio.h> 头文件中,其使用格式如下:

fgets(字符串指针,字符个数n,文件指针);

格式说明:

  • 第 1 个参数“字符串指针”可以是一个字符数组名,也可以是字符指针,用于存放读出的字符串;

  • 第 2 个参数是一个整型数,用来指明读出字符的个数;

  • 第 3 个参数“文件指针”指向一个已经打开并正在操作的文件。

  • 已读取了 n-1 个字符。

  • 当前读取的字符是回车符。

  • 已读取到文件末尾。

示例

应用 fgets() 函数和 fputs() 函数建立一个文本文件,读取文件中的内容并在屏幕上显示。代码如下:

#include "stdio.h"#include "string.h"#include "stdlib.h"int main(){ FILE *fp1,*fp2; /*定义两个文件指针变量fp1,fp2*/ char str[10]; if((fp1=fopen("file2.txt","w"))==0) /*以只写方式新建文件file2.txt,并测试是否成功*/ { printf("不能创建文件\n"); exit(0); /*强制退出程序*/ } printf("输入字符串(以空串作为结束输入):\n"); gets(str); /*接收从键盘输入的字符串*/ while(strlen(str)>0) { fputs(str,fp1); fputs("\n",fp1); /*在文件中加入换行符作为字符串分隔符*/ gets(str); } fclose(fp1); /*写文件结束,关闭文件*/ if((fp2=fopen("file2.txt","r"))==0) /*以只读方式新建并打开文件file2.txt,测试是否成功*/ { printf("不能打开文件\n"); exit(0); } printf("输出字符串:\n"); while(fgets(str,10,fp2)!=0) /*从文件中读取字符串并存放到字符数组str中,测试是否已读完*/ printf("%s",str); /*把数组str中的字符串输出到屏幕上*/ printf("\n"); /*换行*/ fclose(fp2); /*关闭文件*/}

运行结果:

输入字符串(以空串作为结束输入):
www.weixueyuan.net
123456!

输出字符串:
www.weixueyuan.net
123456!

本程序中定义了两个文件指针 fp1 和 fp2,分别用于写文件和读文件的操作。读者要熟悉 fgets() 函数和 fputs() 函数的使用。

第 15 行的“strlen(str)>0”语句用于测试从键盘输入的字符串是否为空串(即只输入回车符)。


C语言fgets()函数:以字符串形式读取文件
END



*声明:本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

“阅读原文”我们一起进步