vector<string>遍历
时间: 2023-10-22 07:20:48 浏览: 45
可以使用for循环或者迭代器进行遍历。例如:
```
vector<string> vec = {"hello", "world", "how", "are", "you"};
for(int i = 0; i < vec.size(); i++){
cout << vec[i] << " ";
}
// 或者使用迭代器
vector<string>::iterator it;
for(it = vec.begin(); it != vec.end(); it++){
cout << *it << " ";
}
```
希望这个回答对您有所帮助。
相关问题
vector<vector<string>>怎么遍历
你可以使用两个嵌套的循环来遍历 `vector<vector<string>>`。第一个循环用于遍历外层的 `vector`,第二个循环用于遍历内层的 `vector`。下面是一个示例代码:
```cpp
#include <iostream>
#include <vector>
#include <string>
int main() {
std::vector<std::vector<std::string>> matrix = {
{"a", "b", "c"},
{"d", "e", "f"},
{"g", "h", "i"}
};
for (const auto& row : matrix) {
for (const auto& element : row) {
std::cout << element << " ";
}
std::cout << std::endl;
}
return 0;
}
```
以上代码将遍历并打印出 `matrix` 中的所有元素。你可以根据你的需求修改内部循环中的代码来执行你想要的操作。
string转vector<string>
要将一个字符串转换为一个字符串向量(vector<string>),你可以使用以下代码:
```cpp
#include <iostream>
#include <vector>
#include <sstream>
std::vector<std::string> stringToVector(const std::string& str) {
std::vector<std::string> result;
std::stringstream ss(str);
std::string token;
while (getline(ss, token, ' ')) {
result.push_back(token);
}
return result;
}
int main() {
std::string str = "Hello World C++";
std::vector<std::string> vec = stringToVector(str);
for (const auto& element : vec) {
std::cout << element << std::endl;
}
return 0;
}
```
在这个例子中,我们定义了一个函数`stringToVector`,它接受一个字符串作为参数并返回一个字符串向量。我们使用`std::stringstream`来分隔字符串,并使用`getline`函数从流中提取每个单词。然后,我们将每个单词添加到结果向量中,并最终返回该向量。
在主函数中,我们将字符串"Hello World C++"传递给`stringToVector`函数,并遍历打印结果向量中的每个元素。
运行上述代码将输出:
```
Hello
World
C++
```
这样,你就成功地将一个字符串转换为一个字符串向量。