如何搜索矢量元素并替换它?

Нед*_*лов 0 c++ loops replace for-loop vector

#include <iostream>
#include <string>
#include <vector>
#include <stdlib.h>
using namespace std;

void print(vector<string> v) {
   for (unsigned int i = 0; i < v.size(); i++) {
     cout << "[" << i << "] " << v[i] << "\n";
    }
 }

 int main(){
    vector<string> v(5);
    v[0] = "Egg";
    v[1] = "Milk";
    v[2] = "Sugar";
    v[3] = "Chocolate";
    v[4] = "Flour";

    print(v);

  system("pause");
}
Run Code Online (Sandbox Code Playgroud)

如何制作一个搜索项目的循环"糖"并用"蜂蜜"替换它?Sry,我是向量的新手

Cor*_*mer 5

如果要替换字符串的第一个实例(如果存在),则可以使用,std::find然后分配给返回的迭代器.

std::vector<std::string> v {"Egg", "Milk", "Sugar", "Chocolate", "Flour"};

auto itMatch = std::find(v.begin(), v.end(), "Sugar");
if (itMatch != v.end())
    *itMatch = "Honey";
Run Code Online (Sandbox Code Playgroud)

如果您想要替换所有实例

std::replace(v.begin(), v.end(), "Sugar", "Honey");
Run Code Online (Sandbox Code Playgroud)