在C语言中,如果你想使用空格进行行输入,通常会使用fgets()
函数。这个函数可以从指定的文件流中读取一行,并保存到一个字符数组中,直到遇到换行符或EOF(文件结束标志)为止。
以下是一个简单的示例代码,展示了如何使用fgets()
函数进行行输入:
#include <stdio.h>
int main() {
char input[100]; // 定义一个字符数组来保存输入
printf("请输入一行文本:");
fgets(input, sizeof(input), stdin); // 从标准输入读取一行
printf("你输入的是:%s", input);
return 0;
}
在这个示例中,fgets()
函数的第一个参数是目标字符数组,第二个参数是数组的大小(以防止缓冲区溢出),第三个参数是文件流,这里使用stdin
表示从标准输入读取。
需要注意的是,fgets()
函数会将换行符\n
也保存到字符数组中。如果你不想在输出中显示这个换行符,可以使用strcspn()
函数来找到并去除它:
#include <stdio.h>
#include <string.h>
int main() {
char input[100];
printf("请输入一行文本:");
fgets(input, sizeof(input), stdin);
// 找到并去除换行符
input[strcspn(input, "\n")] = 0;
printf("你输入的是:%s", input);
return 0;
}
在这个修改后的示例中,strcspn()
函数用于查找字符串中第一个匹配指定分隔符(这里是\n
)的位置,然后将这个位置之后的字符全部设置为0(即空字符\0
),从而去除了换行符。
参考链接:
fgets()
函数:https://www.cplusplus.com/reference/cstdio/fgets/strcspn()
函数:https://www.cplusplus.com/reference/cstring/strcspn/领取专属 10元无门槛券
手把手带您无忧上云