C 库函数 - fgets()

C 库函数 - fgets()

头文件 <stdio.h>

描述

C 库函数 char *fgets(char *str, int n, FILE *stream) 从指定的流 stream 读取一行,并把它存储在 str 所指向的字符串内。当读取 (n-1) 个字符时,或者读取到换行符时,或者到达文件末尾时,它会停止,具体视情况而定。

声明

1
char *fgets(char *str, int n, FILE *stream);
C

参数

  • str:这是指向一个字符数组的指针,该数组存储了要读取的字符串。
  • n:这是要读取的最大字符数(包括最后的空字符)。通常是使用以 str 传递的数组长度。
  • stream:这是指向 FILE 对象的指针,该 FILE 对象标识了要从中读取字符的流。

返回值

如果成功,该函数返回相同的 str 参数。如果到达文件末尾或者没有读取到任何字符,str 的内容保持不变,并返回一个空指针。

如果发生错误,返回一个空指针。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <stdio.h>

int main() {
FILE *file;
char buffer[100];

// 打开文件以读取
file = fopen("example.txt", "r");
if (file == NULL) {
perror("Error opening file");
return -1;
}

// 使用 fgets 读取文件中的一行
if (fgets(buffer, sizeof(buffer), file) != NULL) {
printf("Read line: %s\n", buffer);
} else {
printf("Error or end of file reached\n");
}

// 关闭文件
fclose(file);

return 0;
}
C

在这个示例中,fgets() 从文件 example.txt 中读取一行,并将其存储在 buffer 中。如果读取成功,打印读取的行;如果发生错误或到达文件末尾,打印相应的消息。


C 库函数 - fgets()
https://linhanmic.github.io/2024/09/26/C库函数-fgets/
作者
Linhanmic
发布于
2024年9月26日
更新于
2024年9月26日
许可协议

Gitalk 加载中 ...