温馨提示×

c++中string assign函数的用法是什么

c++
小亿
140
2024-05-13 18:34:20
栏目: 编程语言

在C++中,string类的assign函数用于将一个字符串赋值给另一个字符串。其语法如下:

string& assign (const string& str);
string& assign (const string& str, size_t subpos, size_t sublen);
string& assign (const char* s);
string& assign (const char* s, size_t n);
string& assign (size_t n, char c);

其中,参数含义如下:

  • 第一个重载函数将字符串str赋值给当前字符串。
  • 第二个重载函数将字符串str的一部分(从位置subpos开始,长度为sublen)赋值给当前字符串。
  • 第三个重载函数将C风格字符串s赋值给当前字符串。
  • 第四个重载函数将C风格字符串s的前n个字符赋值给当前字符串。
  • 第五个重载函数将字符c重复n次赋值给当前字符串。

示例:

std::string str1 = "Hello";
std::string str2;

str2.assign(str1); // 将str1赋值给str2
std::cout << str2 << std::endl; // 输出:Hello

str2.assign(str1, 2, 3); // 将str1的子串“llo”赋值给str2
std::cout << str2 << std::endl; // 输出:llo

str2.assign("World"); // 将C风格字符串"World"赋值给str2
std::cout << str2 << std::endl; // 输出:World

str2.assign("Goodbye", 4); // 将C风格字符串"Good"的前4个字符赋值给str2
std::cout << str2 << std::endl; // 输出:Good

str2.assign(3, 'A'); // 将字符'A'重复3次赋值给str2
std::cout << str2 << std::endl; // 输出:AAA

0