📅  最后修改于: 2023-12-03 15:14:03.114000             🧑  作者: Mango
在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
:要用来替换当前字符串对象的目标字符。first
,last
:指向要替换当前字符串对象的目标字符串区间的迭代器。#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()
函数对于替换字符串、子串和字符数组非常有用,可以用于文本操作、字符串处理以及格式化输出等。注意理解函数参数的含义和用途,避免出现错误和不必要的代码量。