C语言fgets()函数:以字符串形式读取文件
C语言 fgets() 函数从文本文件中读取一个字符串,并将其保存到内存变量中。fgets() 函数位于 <stdio.h> 头文件中,其使用格式如下:
fgets(字符串指针,字符个数n,文件指针);
格式说明:
第 1 个参数“字符串指针”可以是一个字符数组名,也可以是字符指针,用于存放读出的字符串;
第 2 个参数是一个整型数,用来指明读出字符的个数;
第 3 个参数“文件指针”指向一个已经打开并正在操作的文件。
已读取了 n-1 个字符。
当前读取的字符是回车符。
已读取到文件末尾。
示例
应用 fgets() 函数和 fputs() 函数建立一个文本文件,读取文件中的内容并在屏幕上显示。代码如下:
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”
语句用于测试从键盘输入的字符串是否为空串(即只输入回车符)。
*声明:本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。