c++中输入的n个字符串保存在一维数组中
时间: 2024-11-30 09:29:12 浏览: 25
在C++中,如果你想保存n个字符串在一个一维字符数组(char array)中,你需要预先知道每个字符串的最大长度,然后计算出总共需要的数组大小。例如,如果假设每个字符串最长不超过50个字符,可以这样做:
```cpp
#include <iostream>
#include <string>
int main() {
int n;
std::cout << "请输入字符串的数量: ";
std::cin >> n;
// 假设最大字符串长度为50
const int maxStringLength = 50;
char stringArray[n * maxStringLength]; // 创建一个足够大的一维字符数组
for (int i = 0; i < n; ++i) {
std::string inputString;
std::getline(std::cin, inputString); // 获取用户输入的每一行作为字符串
std::copy(inputString.begin(), inputString.end(), stringArray + i * maxStringLength); // 将字符串复制到数组中
}
// 现在你可以遍历stringArray来处理这些字符串
// ...
return 0;
}
```
注意,这个例子中我们直接将字符串复制到了数组中,但如果字符串中包含'\0'(空字符),则可能会导致意外的结果。实际应用中,通常会使用`std::vector<std::string>`代替字符数组来管理字符串,这样更安全、更灵活。
阅读全文