C语言 fgets() 函数详解:读取字符串的利器
C语言 fgets() 函数详解:读取字符串的利器
fgets() 函数用于从指定的流中读取一行数据。
语法:
char *fgets(char *str, int n, FILE *stream);
参数说明:
str: 指向一个字符数组,用于存储读取的数据。n: 指定要读取的最大字符数(包括终止符'�'),即数组str的大小。stream: 指定要读取的流,可以是标准输入、标准输出、文件等。
返回值:
- 如果成功读取到数据,则返回字符串
str的地址; - 如果遇到文件结束符或者读取错误,则返回
NULL。
注意事项:
fgets()函数会读取并保留换行符('\n'),所以得到的字符串可能包含换行符;- 如果读取到的行数据长度大于
n-1(n个字符中的一个用于存储终止符'�'),则只会读取n-1个字符,并在末尾添加终止符'�'; - 如果读取到的行数据长度小于
n-1,则会将读取的数据存储到str中,并在末尾添加终止符'�'。
示例用法:
#include <stdio.h>
int main() {
char str[100]; // 定义一个字符数组用于存储读取的数据
FILE *fp;
fp = fopen("input.txt", "r"); // 打开文件
if (fp == NULL) {
printf("无法打开文件\n");
return 1;
}
while (fgets(str, sizeof(str), fp) != NULL) { // 从文件中逐行读取数据
printf("%s", str); // 输出读取到的数据
}
fclose(fp); // 关闭文件
return 0;
}
以上示例代码从文件中逐行读取数据,并输出到屏幕上。其中,fgets() 函数用于读取每一行数据,直到遇到文件结束符或者读取错误。
原文地址: https://www.cveoy.top/t/topic/pxp5 著作权归作者所有。请勿转载和采集!