C++字符串的常用操作函数全总结(包含c)
创始人
2025-01-15 11:34:25
0

文章目录

  • 1.string、string.h和cstring的区别
  • 2.字符串定义
  • 3.求长度size()或length()
  • 4.输入字符串(四种)
  • 5.分割截取substr()
  • 4.查找指定子字符串find()
  • 5.替换字符串中的一部分replace()
  • 6.在指定位置插入字符串insert()
  • 7.复制字符串(两种方法)
  • 8.排序sort()
  • 9.删除erase()
  • 10.在字符串中添加字符push_bach()
  • 以下是C语言中字符串的操作函数:
    • C中字符数组操作函数在C++中使用的操作方法
    • (1)复制字符串strcpy()
    • (2)连接字符串strcat()
    • (3)返回字符串长度strlen()
    • (4)比较字符串strcmp()
    • (5)查找字符strstr()


2024.2.4最新更新
→ 10.在字符串中添加字符

1.string、string.h和cstring的区别

#include  

string.h是c语言的库,用于处理char *类型的字符串。

#include  

string是C++标准库的一个重要的部分-类,主要用于字符串处理。
可以使用输入输出流方式直接进行操作,也可以通过文件等手段进行操作。

#include  

cstring兼容了过去string.h的函数,但是采用了c++的写法。

2.字符串定义

#include  #include  using namespace std;  int main() { 	string str;//定义字符串变量 	char s1[100];//定义字符数组 } 

3.求长度size()或length()

str.length();  str.size(); 

length()函数返回字符串的长度. 和size()返回的数字相同.

4.输入字符串(四种)

string str; getline(cin,str);//可以读入一行字符串,可以包含空格,遇到回车结束  char str[100];//输入字符数组 cin.getline(str,sizeof(str));//需要提前固定好输入的字符串的长度,避免输入的字符超出界限  string str; cin>>str;//可以读入一连串的字符,遇到空格或换行(回车)结束  string str; scanf("%s",&str);//遇到空格结束(C++中不推荐使用) 

5.分割截取substr()

str.substr(7,3); // 从下标7开始截取子字符串,截取长度为3的字符串 

4.查找指定子字符串find()

在字符串中查找指定子字符串,并返回其第一次出现的位置

size_t pos = str.find("World"); // 查找子字符串"World"的位置 

5.替换字符串中的一部分replace()

str.replace(7, 5, "Universe"); // 替换从下标7开始的5个字符为"Universe" 

6.在指定位置插入字符串insert()

str.insert(5, "Beautiful "); // 在下标5处插入字符串"Beautiful " 

7.复制字符串(两种方法)

string str3(str1)//复制str到s 
str3 = str1;// 复制 str1 到 str3 

8.排序sort()

!!!需要头文件#include

string s = "12sklhfsabfskfb,a aghs 1425416 27638"; sort(s.begin(), s.end()); cout << s << endl;  //输出如下: //   ,11122234456678aaabbfffghhkklssss 

9.删除erase()

使用erase()函数

string s="12345678"; s.erase(s.begin()+3);//使下标3的字符删掉  //输出 //1235678 

删除后变为"1235678",即把(默认第一个下标为0)下标3的字符删掉。

10.在字符串中添加字符push_bach()

使用push_back()
在字符串后面添加字符

s.push_back('a'); 

以下是C语言中字符串的操作函数:

所适用的操作类型是char a[100]的字符数组 

C中字符数组操作函数在C++中使用的操作方法

如果想要C++使用,需要将string类的字符串转换成c类型的字符串:
转换所需头文件#include
转换所使用语句:

#include  #include   using namespace std; int main() {     string str = "sajkasb askjakj";     char s1[100];            // 字符数组无需转换                              // str.c_str()为转换的关键语句     strcpy(s1, str.c_str()); // 复制字符串 s2 到字符串 s1。     cout << s1 << endl; } 

输出
在这里插入图片描述

(1)复制字符串strcpy()

strcpy(s1,s2);//复制s2到s1中 

(2)连接字符串strcat()

strcat(s1,s2); //连接字符串 s2 到字符串 s1 的末尾。 //连接字符串也可以用 + 号 
string str1 = "runoob"; string str2 = "google"; string str = str1 + str2; 

(3)返回字符串长度strlen()

strlen(s1); 

(4)比较字符串strcmp()

strcmp(s1, s2); 

如果 s1 和 s2 是相同的,则返回 0;如果 s1s2 则返回值大于 0。

(5)查找字符strstr()

strchr(s1, ch); 

返回一个指针,指向字符串 s1 中字符 ch 的第一次出现的位置。


后续学习会继续补充~~~

相关内容

热门资讯

第七分钟了解!天天开心王国有没... 第七分钟了解!天天开心王国有没有挂,决战卡五星有挂吗,绝活教程(有挂总结)-哔哩哔哩1、天天开心王国...
第3分钟了解!微信小程序多功能... 第3分钟了解!微信小程序多功能修改器,西兵辅助器,演示教程(的确有挂)-哔哩哔哩1、这是跨平台的微信...
一分钟了解!逍遥卡五星辅助,欢... 一分钟了解!逍遥卡五星辅助,欢乐达人葫芦鱼辅助器,窍要教程(有挂透明挂)-哔哩哔哩1、下载好欢乐达人...
第五分钟了解!闲逸亲友圈辅助下... 第五分钟了解!闲逸亲友圈辅助下载,乐胡陇南摆叫辅助器,手册教程(有挂分析)-哔哩哔哩1、闲逸亲友圈辅...
第六分钟了解!巴郎新疆开挂,乐... 第六分钟了解!巴郎新疆开挂,乐玩游戏辅助工具,方针教程(确实有挂)-哔哩哔哩1、乐玩游戏辅助工具辅助...
第三分钟了解!湖北卡五星技能辅... 第三分钟了解!湖北卡五星技能辅助,潮汕雀友会辅助,烘培教程(揭秘有挂)-哔哩哔哩1、游戏颠覆性的策略...
8分钟了解!黑科技软件大全,友... 8分钟了解!黑科技软件大全,友友联盟免费辅助器app,演示教程(真实有挂)-哔哩哔哩友友联盟免费辅助...
第一分钟了解!新西部大厅辅助器... 第一分钟了解!新西部大厅辅助器,微乐云南小程序辅助器,方式教程(有挂助手)-哔哩哔哩1.微乐云南小程...
第1分钟了解!新道游科技透视免... 第1分钟了解!新道游科技透视免费版下载,九九联盟解码器,窍要教程(发现有挂)-哔哩哔哩1、玩家可以在...
两分钟了解!微信小程序旺旺福建... 两分钟了解!微信小程序旺旺福建辅助,新道游正版开挂,阶段教程(有挂讲解)-哔哩哔哩1、微信小程序旺旺...