C语言中如何读取字符串到字符串组中
时间: 2024-09-17 22:06:28 浏览: 40
在C语言中,读取字符串到字符数组(也称为字符串数组,即字符串组)通常涉及到两个步骤:首先获取用户输入的字符串,然后将这个字符串复制到数组中。这里是一个基本的例子:
```c
#include <stdio.h>
#include <string.h> // 包含strlen() 和 strcpy() 函数
#define MAX_STRINGS 5 // 定义字符串组的最大长度
char string_array[MAX_STRINGS][50]; // 创建一个字符串数组,每个元素最多容纳49个字符(包括空字符'\0')
int main() {
int i = 0; // 记录已存储的字符串数量
while (i < MAX_STRINGS) { // 当有空位时继续读取
printf("Enter a string (or 'quit' to stop): ");
fgets(string_array[i], sizeof(string_array[0]), stdin); // 使用fgets读取字符串,不包含换行符
// 检查用户是否输入了"quit"
if (strcmp(string_array[i], "quit") == 0) {
break;
} else {
string_array[i][strcspn(string_array[i], "\n")] = '\0'; // 删除fgets读取的换行符
i++; // 增加字符串计数
}
}
// 打印数组中的所有字符串
for (i = 0; i < MAX_STRINGS && string_array[i][0] != '\0'; i++) {
printf("%s\n", string_array[i]);
}
return 0;
}
```
在这个例子中,程序会持续询问用户输入,直到用户输入“quit”为止。每次输入都会被复制到数组的一个新元素中。注意,`fgets`函数会保留换行符,所以在复制之前需要去掉。
阅读全文