ret_val = fgets(st,n,stdin);
时间: 2024-09-13 14:16:55 浏览: 35
`fgets` 是 C 语言中的标准输入函数,用于从指定的输入流中读取一行数据。该函数定义在 `<stdio.h>` 头文件中。函数原型如下:
```c
char *fgets(char *str, int n, FILE *stream);
```
参数说明:
- `str`:指向字符数组的指针,用来存储读取的字符串。
- `n`:指定最多读取的字符数,包括最后的空字符 `\0`。因此,如果要读取 `n-1` 个字符以确保字符串以 `\0` 结尾,`n` 应设置为 `n-1`。
- `stream`:指定输入流,这里为 `stdin`,即标准输入(通常是键盘)。
函数返回值:
- 如果函数成功读取了字符,则返回 `str` 指针。
- 如果到达文件末尾(EOF),则返回 `NULL`。
- 如果发生错误,则返回 `NULL` 并设置错误标志。
使用 `fgets` 读取一行文本时,它会在读取到换行符 `\n` 或达到指定的字符数 `n` 时停止。读取到的换行符会存储在字符串中,除非 `n` 等于 1。如果到达文件末尾且没有读取任何字符,则返回 `NULL`。
示例代码:
```c
#include <stdio.h>
int main() {
char buffer[100];
printf("Enter some text:\n");
if (fgets(buffer, sizeof(buffer), stdin) != NULL) {
printf("You entered: %s", buffer);
} else {
printf("An error occurred or end-of-file was reached.\n");
}
return 0;
}
```
阅读全文