在C 中更新字符串的一部分

updating part of string in c++

本文关键字:一部分 字符串 更新      更新时间:2023-10-16

是否有任何方法可以通过在函数中传递string的部分?

std::string str = "hello world";

我想将字符串的部分倒出,例如从索引4到8。

我的功能可以将字符串从启动索引逆转到结束索引。我如何将字符串从索引4传递到该功能,以便将其自动在str字符串中自动更新。

为什么不使用 std::reverse

std::string str = "hello world";
std::reverse ( str.begin() + 4, str.begin() + 8 );

编写一个开始/结束迭代器的函数。参见,例如std :: reververs()。std :: vector的用法示例在同一页面上。

您可以通过参考传递字符串:

void foo( std::string & inputString )
{
  //anything you do here will directly affect the string passed.
}

例如:

void foo( std::string & str )
{
    str.append("World!");
}
int main()
{
    std::string a = "Hello, ";
    foo(a);
    std::cout << a;
    return 0;
}

将打印出"你好,世界!"。另一个选择是传递字符串的开始和结束迭代器。许多std函数都是如此。