一、读字符串函数fgets
函数原型:
char fgets ( char* str, int size, FILE* stream)*
*str: 字符型指针,用来存储所得数据的地址。字符数组。
size: 整型数据,要复制到str中的字符串的长度,包含终止NULL。
*stream:文件结构体指针,将要读取的文件流。
意义:从stream所指向的文件中读取size-1个字符送入字符串数组str中。
功能:从文件中读取字符串,每次只读取一行。
注意:
1. fgets每次最多只能读取n-1个字2.符,第n个为NULL。
2. 当遇到换行符或者EOF时,即使当前位置在n-1之前也读出结束。
3. 若函数返回成功,则返回 字符串数组str的首地址。
举例:
文件flie:
This is a text.
my file.
如果用fgets(str1,5,file);去读取,则执行:
str1=This,实际只读取5-1=4个字符。
如果用fgets(str2,20,flie);去读取,则执行:
str2=This is a text. 遇到换行符就停止读出。
代码:
1 /* fgets example */
2 #include <stdio.h>
3
4 int main()
5 {
6 FILE * pFile;
7 char mystring [100];
8
9 pFile = fopen ("myfile.txt" , "r");
10 if (pFile == NULL) perror ("Error opening file");
11 else {
12 if ( fgets (mystring , 100 , pFile) != NULL )
13 puts (mystring);
14 fclose (pFile);
15 }
16 return 0;
17 }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)