用c++输入流初始化一个字符串数组
时间: 2024-02-18 10:08:40 浏览: 183
字符串与字符数组的区别-C++程序设计
可以使用C++中的`std::getline()`函数从输入流中读取一行字符串,然后使用`std::stringstream`将该字符串分割成一个字符串数组。下面是一个示例代码:
```c++
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main() {
string input;
cout << "请输入一行字符串: ";
getline(cin, input); // 从标准输入流中读取一行字符串
istringstream iss(input); // 使用输入字符串初始化 stringstream 对象
string str;
string stringArray[100]; // 假设最多有100个字符串
int index = 0;
while (iss >> str) { // 从 stringstream 中读取每个字符串
stringArray[index++] = str;
}
cout << "分割后的字符串数组为: " << endl;
for (int i = 0; i < index; i++) {
cout << stringArray[i] << endl;
}
return 0;
}
```
在上面的代码中,我们使用`std::getline()`函数从标准输入流中读取一行字符串,并使用该字符串初始化一个`std::stringstream`对象。然后,我们使用`>>`运算符从`std::stringstream`对象中依次读取每个字符串,并将它们存储在一个字符串数组中。最后,我们遍历字符串数组并打印每个字符串。
阅读全文