c fgets函数的用法
时间: 2023-12-30 17:56:59 浏览: 75
fgets函数是C语言中用于从文件或标准输入流中读取字符串的函数。它的原型如下:
```c
char *fgets(char *str, int n, FILE *stream);
```
该函数从指定的流(stream)中读取最多n-1个字符,直到遇到换行符('\n')或文件结束符(EOF),然后将结果存储在str指向的字符数组中,并在末尾添加一个NULL字符。
参数说明:
- str:指向要存储读取结果的字符数组的指针。
- n:要读取的最大字符数(包括换行符和NULL字符),通常是目标数组的大小。
- stream:要读取的流,可以是文件指针或标准输入流(stdin)。
fgets函数的返回值是一个指向str的指针,如果成功读取到字符串,则返回该指针;如果发生错误或到达文件末尾时没有读取到任何字符,则返回NULL。
注意事项:
- fgets函数会保留换行符('\n'),因此如果目标数组长度允许,最后一个字符可能是'\n'。
- 如果读取到的字符串长度大于或等于n-1,则表示截断了部分字符,因为fgets会自动在读取到n-1个字符后添加一个NULL字符,确保字符串的结尾正确。
示例代码:
```c
#include <stdio.h>
int main() {
char str[100];
printf("请输入字符串:");
fgets(str, sizeof(str), stdin);
printf("读取到的字符串是:%s", str);
return 0;
}
```
上述示例代码中,我们使用fgets函数从标准输入流中读取用户输入的字符串,并将结果存储在str字符数组中,最后打印出来。
阅读全文