c语言将字符串输入到字符数组中
时间: 2024-09-06 11:06:51 浏览: 55
C语言中字符串的处理方式
在C语言中,将用户输入的字符串保存到字符数组中,通常需要使用`fgets`函数结合循环结构。下面是一个基本的例子:
```c
#include <stdio.h>
#define MAX_INPUT_LENGTH 50 // 定义输入的最大长度
int main() {
char input[MAX_INPUT_LENGTH]; // 创建一个字符数组用于存储输入
char* fgets_result; // 存储 fgets 的结果
// 获取用户输入
printf("请输入一个字符串: ");
fgets_result = fgets(input, sizeof(input), stdin); // fgets 收集输入并返回结果
if(fgets_result == NULL || input[strlen(input)-1] == '\n') { // 检查是否成功获取了输入并且末尾是否有换行符
printf("输入过长或输入结束\n");
return 1; // 处理错误情况
} else {
input[strlen(input)-1] = '\0'; // 删除fgets留下的换行符
printf("你输入的字符串是: %s\n", input); // 输出字符串
}
return 0;
}
```
此代码首先提示用户输入字符串,然后使用`fgets`从标准输入(stdin)读取内容,直到遇到换行符(`\n`)或达到最大长度(MAX_INPUT_LENGTH)。读取完成后,还需要检查输入是否包含换行符,并将其替换为字符串结束符`\0`。如果输入超过最大长度,程序会捕获异常并给出提示。
阅读全文