fgets函数是C语言中用于从文件中读取字符串的函数。它的原型如下:
char *fgets(char *str, int n, FILE *stream);
其中,str是用于存储读取字符串的数组,n是最大读取字符数(包括空字符’\0’),stream是指向文件的指针。
fgets函数会从指定的文件中读取一个字符串,并将其存储到str中,直到遇到换行符(包括换行符在内)。读取的字符串会自动在末尾添加空字符’\0’,以表示字符串的结束。
fgets函数的返回值是一个指向str的指针,即读取成功时返回str,读取失败时返回NULL。
fgets函数常用于从文件中逐行读取字符串,可以配合循环使用,如下所示:
#includeint 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函数或手动处理字符串来移除换行符。