vector<string> hello (1,"hello world")里面删除world
时间: 2023-11-09 16:07:21 浏览: 19
可以使用字符串的 erase() 函数来删除 "world",代码如下:
```
vector<string> hello(1, "hello world");
hello[0].erase(hello[0].find("world"), 5);
```
这里使用了 find() 函数来找到 "world" 的位置,然后使用 erase() 函数删除它。
相关问题
怎么将vector<string>存到vector<vector<string>> &类型,效果是什么样的
将一个`vector<string>`存储到`vector<vector<string>>`中,可以通过以下代码实现:
```cpp
vector<vector<string>> vec2d;
vector<string> vec1d = {"hello", "world"};
vec2d.push_back(vec1d);
```
这样,就将一个一维的`vector<string>`存储到了二维的`vector<vector<string>>`中。
存储后的效果是,`vec2d`中有一个元素,该元素是一个`vector<string>`,其中包含了两个字符串元素。如果有多个`vector<string>`被存储到`vec2d`中,那么`vec2d`就会成为一个二维的矩阵,其中每一行都是一个`vector<string>`,每一列就是`vector<string>`中的字符串元素。
怎么将vector<string>存到vector<vector<string>>的指定位置中,效果是什么样的
可以使用下标操作符`[]`来访问`vector<vector<string>>`中指定位置的`vector<string>`,然后再使用`push_back`函数将`vector<string>`插入到指定位置中。示例代码如下:
```cpp
vector<vector<string>> myVec; // 定义一个vector<vector<string>>对象
// 在第0个位置插入一个vector<string>对象
myVec[0].push_back("hello");
myVec[0].push_back("world");
// 在第1个位置插入一个vector<string>对象
myVec[1].push_back("foo");
myVec[1].push_back("bar");
// 输出myVec中的所有元素
for (const auto& vec : myVec) {
for (const auto& str : vec) {
cout << str << " ";
}
cout << endl;
}
```
输出结果如下:
```
hello world
foo bar
```
注意,如果要访问`vector<vector<string>>`中的指定位置,必须确保该位置已经存在,否则会出现访问越界的错误。可以使用`resize`函数来调整`vector<vector<string>>`的大小,这样就可以安全地访问其中的元素了。