📜  C++中的std :: 字符串:: assign()(1)

📅  最后修改于: 2023-12-03 15:14:03.114000             🧑  作者: Mango

C++中的std::字符串::assign()

在C++中,std::字符串::assign()函数是用来将一个字符串对象中的值替换为另一个字符串、字符数组、子串或字符数值的成员函数。

函数原型
basic_string& assign( const basic_string& str );
basic_string& assign( const CharT* s, size_type count );
basic_string& assign( const CharT* s );
basic_string& assign( size_type count, CharT ch );
basic_string& assign( InputIt first, InputIt last );
  • str:要替换当前字符串对象的目标字符串对象。
  • s:是指要替换当前字符串对象的目标字符数组。count是替换的字符数。
  • ch:要用来替换当前字符串对象的目标字符。
  • firstlast:指向要替换当前字符串对象的目标字符串区间的迭代器。
使用示例
#include <iostream>
#include <string>

int main()
{
    std::string str1 = "Hello";
    std::string str2 = "World";
    int num = 123;

    // 将str1字符串的前3个字符替换为"Hi"
    str1.assign("Hi", 2);
    std::cout << "str1: " << str1 << std::endl;

    // 将str2字符串的所有字符替换为"Game Over"
    str2.assign("Game Over");
    std::cout << "str2: " << str2 << std::endl;

    // 将str1字符串的前2个字符替换为str2字符串的后2个字符
    str1.assign(str2, str2.size() - 2, 2);
    std::cout << "str1: " << str1 << std::endl;

    // 将str2字符串的第一个字符替换为数字123的字符形式
    str2.assign(1, static_cast<char>(num));
    std::cout << "str2: " << str2 << std::endl;

    return 0;
}

以上程序的输出为:

str1: Hi
str2: Game Over
str1: er
str2: G2me Over
总结

std::字符串::assign()函数对于替换字符串、子串和字符数组非常有用,可以用于文本操作、字符串处理以及格式化输出等。注意理解函数参数的含义和用途,避免出现错误和不必要的代码量。