如何用fgets输入含有空格的字符串
时间: 2024-10-28 14:06:08 浏览: 18
C语言中输入函数(scanf()、fgets()和gets())的区别详解
5星 · 资源好评率100%
在C语言中,`fgets()`函数常用于从标准输入流(通常是键盘)读取一行数据,包括其中的空格。如果要读取含有空格的字符串,你需要按照以下步骤操作:
1. 包含头文件:首先需要包含`stdio.h`,这是输入输出功能的头文件。
```c
#include <stdio.h>
```
2. 使用fgets()函数:指定一个字符数组作为目标位置,`fgets()`函数将读取到的字符串(直到遇到换行符`\n`)存入该数组,并在末尾添加一个'\0'终止符。
```c
char str[50]; // 假设你要读取的最大长度为49(不包括结束符)
fgets(str, sizeof(str), stdin); // 第二个参数指定数组大小,第三个参数是输入流(stdin代表标准输入)
```
这里的`sizeof(str)`会自动计算出字符数组的大小减去'\0'。
3. 检查是否成功读取:`fgets()`可能因为达到输入流的末尾或者发生错误而返回NULL,这时你可以检查`str`是否为空。
```c
if (str == NULL) {
printf("Error reading input or end of file.\n");
}
```
阅读全文