在C语言中,当你通过标准输入(如键盘)获取用户输入字符串时,如何确定输入结束。
时间: 2024-09-27 20:15:01 浏览: 31
C++实现从输入中读取字符串
在C语言中,通过标准输入获取用户输入字符串时,确定输入结束的标准依赖于特定的输入流控制函数。最常用的方法是使用`fgets`函数配合`\n`(换行符)来读取。`fgets`函数允许你指定一个最大长度,读取直到遇到换行符、达到最大长度或者文件结尾为止,其中任何一个条件都可以视为输入结束。
以下是一个基本示例:
```c
#include <stdio.h>
#define MAX_INPUT 100
int main() {
char input[MAX_INPUT];
int ch;
while ((ch = getchar()) != EOF && ch != '\n') { // 循环直到遇到EOF或换行
input[fputs(ch, input)] = '\0'; // 把字符追加到输入字符串,如果遇到换行就结束
}
input[strcspn(input, "\n")] = '\0'; // 移除可能存在的最后一个换行符
printf("User entered: %s\n", input);
return 0;
}
```
在这个例子中,`getchar()`用于逐个字符地读取,直到遇到换行符(表示输入结束),或者是程序的终止符(EOF)。最后一步使用`strcspn`函数移除多余的换行符。
阅读全文