fgets函数是C语言中用于从文件中读取字符串的函数。它的原型如下:
char *fgets(char *str, int n, FILE *stream);
其中,str是用于存储读取字符串的数组,n是最大读取字符数(包括空字符’\0’),stream是指向文件的指针。
fgets函数会从指定的文件中读取一个字符串,并将其存储到str中,直到遇到换行符(包括换行符在内)。读取的字符串会自动在末尾添加空字符’\0’,以表示字符串的结束。
fgets函数的返回值是一个指向str的指针,即读取成功时返回str,读取失败时返回NULL。
fgets函数常用于从文件中逐行读取字符串,可以配合循环使用,如下所示:
#include <stdio.h>
int main() {
FILE *file = fopen("example.txt", "r");
if (file == NULL) {
printf("文件打开失败\n");
return 1;
}
char str[100];
while (fgets(str, sizeof(str), file) != NULL) {
printf("%s", str);
}
fclose(file);
return 0;
}
上述代码会打开名为example.txt的文件,并逐行读取其中的字符串,然后将其打印到终端上。直到文件末尾,fgets函数返回NULL,循环终止。
需要注意的是,fgets函数会将换行符也读取进来,并存储到str中。如果不需要换行符,可以使用strtok函数或手动处理字符串来移除换行符。