C++string类常用方法

C++string类常用方法C string 类常用方法 1 string constchar s 将 string 对象初始化为 s 指向的字符串 stringstr hello 2 string size typen charc 创建一个包含 n 个元素的 string 对象 其中每个元素都被初始化为字符 cstringstr 10 a 3 string conststring amp str 将一个 string 对象初始化为 string 对象 str 复制构造函数 str

C++string类常用方法

1、string(const char *s) :将 string 对象初始化为 s 指向的字符串

string str("hello"); 

2、string(size_type n,char c) :创建一个包含 n 个元素的 string 对象,其中每个元素都被初始化为字符 c

string str(10, 'a'); 

3、string(const string &str) :将一个 string 对象初始化为 string 对象 str(复制构造函数)

string str("abcde"); string str2(str); 

4、string() :创建一个默认的 string 对象,长度为 0(默认构造函数)

string str; 

5、使用C语言风格字符串处理string对象

string str = "hello!"; 

6、获取string对象的长度,C语言中使用strlen()来获取字符串长度,C++中使用str.size()str.length().

string str("hello!"); int len1 = str.size(); int len2 = str.length(); 

7、将一个 string 对象赋值给另一个 string 对象

string str("hello!"); string str2; str2 = str; 
string str1("hello"); string str2("world"); string str3 = str1 + str2; 

9、使用 += 来在一个 string 对象后面附加一个 string 对象、字符以及 C 风格的字符串

string str("hello"); string str2("world"); str += str2; str += 'a'; str += "abcd"; 

10、string.append() 函数,在string对象后添加一个string对象或c风格字符串。

string str("hello"); string str2("world"); str.append(str2); str.append("abcd"); 

11、string.push_back() 函数来在一个 string 对象后面附加一个字符

string str("hello"); char ch = 'a'; str.push_back(ch); 

12、对于string对象的比较,可以直接使用关系运算符。

string str1("abcd"); string str2("abcd"); if(str1 == str2) break; 

13、string对象的比较也可以使用string.compare() 方法

int compare(const string&str) const; int compare(size_t pos,size_t len,const string&str)const; int compare(size_t pos,size_t len,const string&str, size_t subpos,size_t sublen)const; int compare(const char * s)const; int compare(size_t pos,size_t len,const char * s)const; int compare(size_t pos,size_t len,const char * s,size_t n)const; // example string str1("hello world"); string str2("hello boy"); str1.compare(6, 3, str2, 6, 3); 

14、使用 string.substr() 函数来获取子串

string str("hello"); string str2 = str.substr(3,2) 

15、访问 string 字符串的元素

string str("hello"); cout << str[2] << endl; cout << str.at(2) << endl; 

16、使用 string.find() 方法查找字符

// 从字符串的 pos 位置开始(若不指定 pos 的值,则默认从索引 0 处开始),查找子字符串 str。 // 如果找到,则返回该子字符串首次出现时其首字符的索引;否则,返回 string::npos: // string 类将 npos 定义为保证大于任何有效下标的值。 size_type find (const string& str, size_type pos = 0) const; size_type find (const char *s, size_type pos = 0) const; size_type find (const char *s, size_type pos, size_type n); size_type find (char ch, size_type pos = 0) const; 

17、string.rfind() 与 string.find() 方法类似,只是查找顺序不一样, string.rfind() 是从指定位置 pos (默认为字符串末尾)开始向前查找,直到字符串的首部,并返回第一次查找到匹配项时匹配项首字符的索引。换句话说,就是查找子字符串或字符最后一次出现的位置。

18、string.find_first_of() 方法在字符串中从指定位置开始向后(默认为索引 0 处)查找参数中任何一个字符首次出现的位置

string str("hello world"); int pos = str.find_first_of("abcde"); int pos = str.find_first_of("abcde", 1); // 第二个参数为位置 

19、string.find_last_of() 方法在字符串中查找参数中任何一个字符最后一次出现的位置

20、string.find_first_not_of() 方法在字符串中查找第一个不包含在参数中的字符

21、string.find_last_not_of() 方法在字符串中查找最后一个不包含在参数中的字符

22、使用 string.insert() 进行插入操作

string& insert(size_t pos,const string&str);    // 在位置 pos 处插入字符串 str string& insert(size_t pos,const string&str,size_t subpos,size_t sublen);  // 在位置 pos 处插入字符串 str 的从位置 subpos 处开始的 sublen 个字符 string& insert(size_t pos,const char * s);     // 在位置 pos 处插入字符串 s string& insert(size_t pos,const char * s,size_t n);  // 在位置 pos 处插入字符串 s 的前 n 个字符 string& insert(size_t pos,size_t n,char c);      // 在位置 pos 处插入 n 个字符 c iterator insert (const_iterator p, size_t n, char c);  // 在 p 处插入 n 个字符 c,并返回插入后迭代器的位置 iterator insert (const_iterator p, char c);       // 在 p 处插入字符 c,并返回插入后迭代器的位置 

23、使用 string.erase() 进行元素删除操作

string& erase (size_t pos = 0, size_t len = npos);   // 删除从 pos 处开始的 n 个字符 iterator erase (const_iterator p);            // 删除 p 处的一个字符,并返回删除后迭代器的位置 iterator erase (const_iterator first, const_iterator last); // 删除从 first 到last 之间的字符,并返回删除后迭代器的位置 

24、使用 getline() 函数来获取 string 输入

string str; getline(cin, str); 

25、使用 string.empty() 函数判断字符串是否为空

26、使用 string.swap() 函数交换两个字符串

string str1 = "hello"; string str2 = "HELLO"; str1.swap(str2); 

27、string.back()获取或修改字符串最后一个字符

string str("abcd"); char b = str.back(); str.back() = 'e'; 

28、string.front()获取或修改字符串第一个字符

29、string.pop_back()删除字符串最后一个元素

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/204162.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午8:51
下一篇 2026年3月19日 下午8:51


相关推荐

  • idea20212破解激活 重启未生效(已测有效)

    idea20212破解激活 重启未生效(已测有效),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    282
  • NPN三极管导通数据总结

    NPN三极管导通数据总结由上图和数据可知,三极管相当于是用小电流(Ib)控制大电流(Ic),截止区就是Ube放大区:Ube>0.5开始,注意并不是要大于0.7V,0.7V是二极管的导通电压,在放大区里,Ube一般是大于0.5V,小于0.65V,此时Ic是Ib的线性放大倍数。饱和区:随着Ube大于0.65以上,Ic基本上不会再增大,此时Uce会很快降低,而且会迫使Ubc正偏,这些数学关系,可以通过简单的欧姆

    2022年6月16日
    43
  • git 修改用户名以及邮箱_163怎么更改账号

    git 修改用户名以及邮箱_163怎么更改账号最近在提交代码时发现用户名和邮箱很长,感觉很奇怪,于是通过Git命令修改了一下用户名,用户名截图如下:修改步骤如下:1.进入Git的安装目录,找到git\git-cmd.exe,例如我的目录是D:\softwore\git\Git,目录截图如下:或者配置环境变量进行修改,环境变量配置为在PATH后面加上git的bin目录D:\softwore\git\Git\bin,截图如下…

    2025年9月30日
    3
  • cmd 返回目录操作

    cmd 返回目录操作1 打开 cmd exe 对话框 进入到 E project node 目录下 如图 cmd 返回上一级 cmd 返回组目录 2 返回根目录 在 cmd exe 弹出框中输入 cd 后按回车 即可返回到 e 盘的根目录 如图 cmd 返回上一级 cmd 返回组目录 3 返回上一级 在 cmd exe 弹出框中输入 cd 后按回车 即可返回到当前目录的上一个目录 如图 cmd 返回上一级 cmd 返回组目录

    2026年3月17日
    2
  • 关于Delay函数的思考

    关于Delay函数的思考可能很多人对延时函数的使用并不排斥,但是我个人觉得这是非常不符合软件的本质的。软件的本质是将现实中的各种行为抽象。以现实中人的活动为例,人在同一时刻是可以实时响应很多事情的,而Delay函数的出现相当于给CPU上了刹车

    2022年5月5日
    41
  • idea 激活 2021 3月最新注册码

    idea 激活 2021 3月最新注册码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
    974

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号