首页 > 编程笔记
C语言fgets():从文件读取一个字符串
fgets() 是 C语言标准库中的函数,定义在
fgets() 函数用于从文件中读取一个字符串,函数的原型如下:
需要强调的是,读取到 n-1 个字符,或者读取到换行符,又或者读到文件末尾,fgets() 都会停止读取,读取到的字符串末尾会自动添加 '\0'。其中,当 fgets() 读取到换行符时,会将其视为有效字符保存到 str 数组中。
【实例】以下是一个 C语言 fgets() 函数的使用示例,该示例打开一个名为 example.txt 的文件,并逐行打印其内容:
<stdio.h>
头文件中。fgets() 函数用于从文件中读取一个字符串,函数的原型如下:
char *fgets(char *str, int n, FILE *stream);
参数
- str:指向一个能存储字符串的字符数据,fgets() 会将从文件中读取到的字符串存储到 str 所指的数组中。
- n:指定要读取的最大字符数,包括空字符。也就是说,fgets() 函数从文件中最多读取 n−1 个字符。
- stream:指向要读取的目标文件。
返回值
如果操作成功,返回 str;如果到达文件末尾或发生错误,则返回 NULL。需要强调的是,读取到 n-1 个字符,或者读取到换行符,又或者读到文件末尾,fgets() 都会停止读取,读取到的字符串末尾会自动添加 '\0'。其中,当 fgets() 读取到换行符时,会将其视为有效字符保存到 str 数组中。
【实例】以下是一个 C语言 fgets() 函数的使用示例,该示例打开一个名为 example.txt 的文件,并逐行打印其内容:
#include <stdio.h> int main() { FILE *file = fopen("example.txt", "r"); if (file == NULL) { printf("Failed to open the file.\n"); return 1; } char line[100]; while (fgets(line, sizeof(line), file) != NULL) { printf("%s", line); // 打印读取的行 } fclose(file); return 0; }