fgets是一个C语言的标准库函数,它用于从指定的流中读取一行数据,直到达到指定的最大字符数,或者遇到换行符或EOF(End Of File,文件结束标志)。
函数原型如下:
char *fgets(char *str, int n, FILE *stream);
登录后复制
参数解释:
str:这是指向一个字符数组的指针,fgets将把读取到的字符串放入这个数组。
n:这是要读取的最大字符数(包括空字符'\0')。
stream:这是要读取的输入流。
fgets函数会返回一个指向str的指针。如果读取失败或遇到EOF,它将返回NULL。
下面是一个简单的例子,展示如何使用fgets函数从文件中读取数据:
#include <stdio.h>
int main() {
FILE *file = fopen("example.txt", "r");
if (file == NULL) {
printf("Failed to open file\n");
return 1;
}
char buffer[100];
while (fgets(buffer, 100, file) != NULL) {
printf("%s", buffer);
}
fclose(file);
return 0;
}
登录后复制
在这个例子中,我们打开一个名为"example.txt"的文件,并使用fgets函数从文件中读取每一行数据,直到遇到EOF。每一行数据都被存储在缓冲区buffer中,并立即被打印出来。