在Linux中,`fgets` 是一个用于从文件流中读取字符串的函数,主要用于读取文本文件中的一行输入。它是 C 标准库 `
函数原型
```c
char *fgets(char *str, int n, FILE *stream);
```
参数
- `str`:用于存储读取字符串的缓冲区。
- `n`:要读取的最大字符数(包括终止字符 `\0`)。
- `stream`:指向要读取的文件流的指针,通常是通过 `fopen` 打开的文件或标准输入(如 `stdin`)。
返回值
- 成功时,返回值是 `str` 的指针。
- 如果到达文件末尾(EOF)或发生错误,返回 `NULL`。
用法示例
以下是一个简单的示例,演示如何使用 `fgets` 从标准输入读取一行文本并将其打印到屏幕上。
```c
#include
int main() {
char buffer[100]; // 创建一个缓冲区,用于存储读取的字符串
printf("请输入一行文本: ");
// 使用 fgets 从标准输入读取一行
if (fgets(buffer, sizeof(buffer), stdin) != NULL) {
printf("你输入的内容是: %s", buffer);
} else {
printf("读取失败\n");
}
return 0;
}
```
注意事项
1. `fgets` 会读取包括换行符在内的字符,除非达到指定的字符数限制。
2. 如果读取的字符串包含换行符,换行符也会被存储在缓冲区中。
3. 确保缓冲区足够大,以容纳要读取的字符以及字符串终止符 `\0`。