输入字符串到vector<string>中
时间: 2023-04-05 16:04:48 浏览: 117
可以回答这个问题。您可以使用以下代码将字符串输入到vector<string>中:
```
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main() {
vector<string> strVec;
string inputStr;
while (cin >> inputStr) {
strVec.push_back(inputStr);
}
return 0;
}
```
这个程序会不断读取输入,直到遇到文件结尾或者输入流被关闭。每次读取到一个字符串,就将其添加到vector<string>中。
相关问题
vector<vector<string>> a怎么向数组中插入字符串
`vector<vector<string>> a` 表示一个名为 `a` 的二维字符串数组,你可以使用以下方法向其中插入字符串:
1. 使用 `push_back` 函数将字符串添加到二维数组的末尾:
```c++
a.push_back(vector<string>{"hello", "world"});
a.push_back(vector<string>{"foo", "bar", "baz"});
```
2. 使用下标运算符 `[]` 直接将字符串插入到指定位置:
```c++
a[0].push_back("hello");
a[0].push_back("world");
a[1].push_back("foo");
a[1].push_back("bar");
a[1].push_back("baz");
```
3. 使用 `insert` 函数将字符串插入到指定位置:
```c++
a.insert(a.begin(), vector<string>{"hello", "world"});
a.insert(a.begin() + 1, vector<string>{"foo", "bar", "baz"});
a[0].insert(a[0].begin(), "hello");
a[0].insert(a[0].begin() + 1, "world");
a[1].insert(a[1].begin(), "foo");
a[1].insert(a[1].begin() + 1, "bar");
a[1].insert(a[1].begin() + 2, "baz");
```
以上三种方法都可以向 `vector<vector<string>> a` 中插入字符串。注意在使用 `insert` 函数时,需要将字符串包装成一个单独的 `vector<string>` 对象。
vector<int> 转 vector<string>
您可以使用标准库中的 `std::transform` 函数来将一个 `vector<int>` 转换为 `vector<string>`。下面是一个示例代码:
```cpp
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
int main() {
std::vector<int> intVector = {1, 2, 3, 4, 5};
// 创建一个空的 vector<string>
std::vector<std::string> stringVector(intVector.size());
// 使用 std::transform 进行转换
std::transform(intVector.begin(), intVector.end(), stringVector.begin(), [](int num) {
return std::to_string(num);
});
// 打印转换后的 vector<string>
for (const auto& str : stringVector) {
std::cout << str << " ";
}
std::cout << std::endl;
return 0;
}
```
输出结果将会是:`1 2 3 4 5`,每个整数都转换成了字符串。