C语言用fgets文件读入
时间: 2024-11-06 15:16:31 浏览: 11
C语言将文件数据读入内存
C语言中的`fgets()`函数是一个用于从指定文件流中读取一行字符的库函数,全称为"file get a line"。它的基本原型如下:
```c
char *fgets(char *str, int n, FILE *stream);
```
这里的参数含义如下:
- `str`:一个指向字符数组的指针,用于存放读取的数据。
- `n`:一个整数,表示最多能读取的字符数(不包括结束符'\0'),通常包含`\0`空间以便存储完整的一行。
- `stream`:一个指向`FILE`类型的指针,指向需要读取的文件。
使用`fgets()`的示例:
```c
#include <stdio.h>
int main() {
char filename[] = "example.txt"; // 文件名
FILE *fp;
fp = fopen(filename, "r"); // 打开文件
if (fp == NULL) {
printf("Failed to open the file.\n");
return 1;
}
char line[100]; // 存储读取的行,假设每行不超过99字节
fgets(line, sizeof(line), fp); // 读取文件内容
// 检查是否到达文件结尾或读取错误
if (feof(fp)) {
printf("End of file reached.\n");
} else if (fgets(line, sizeof(line), fp) == NULL) {
printf("Error reading from file.\n");
}
fclose(fp); // 关闭文件
printf("Read line: %s\n", line);
return 0;
}
```
阅读全文