c++字符串

1、C串

C串是一个以全零结束的字符串序列,也就是char类型的字符数组,编译器通过"/0"来判断C串是否结束。

char str[7] ="hello!"
//str[6]是c串的结尾
str[6]="/0"

2、标准的c++ string 类

使用string的时候要导入库包

#include<string>

string本质上可以看作一种vector<char>,也就是元素为char的vector。有关vector 的操作都可以在

string上进行

  • 通过变量指针来访问字符串的值
//通过变量指针来访问字符串的值
string str="Hello";
int n=str.length();
for(int i=0;i<n;i++){
cout<<str[i]<<endl;
}
  •  通过迭代器来访问
//通过迭代器来访问
for(auto it=str.begin();it!=str.end();++it)
{
   cour<<*it<<endl;
}

3、string的初始化(即string的构造函数)

string s1;
string s2="hello world";//拷贝初始化
string s3("hello world");//直接初始化
string s4(s2);//类似于拷贝构造
string s5=s2;//直接赋值,s2是string 类对象
string s6(5,'a');//字符串为aaaaa

4、string类的常用方法

  • 常用的无参函数(属于string类的成员方法)
string str="yyt"
str.toCharArray();//把字符串转换为字符数组,即上面所说的c串

str.toLowerCase();//字符串转换为小写字符串

str.toUpperCase();//字符串转换为大写字符串

str.length();//获取字符串长度

str.isEmpty();//字符串是否为空
  •  常用的有参函数(属于string类的成员方法)
String str1="hello";
string str2="Hello";

str1.equals(str2);//判断字符串内容是否相同,false
str1==str2;//判断字符串地址是否相同,flase
str1.equalsIgnoreCase(str2);//忽略大小写,true
str1.concat(str2);//字符串的拼接


5、字符串的遍历算法

  • 提取字符串中的所有数字
string number(string s){
string sgood;
for (char ch: s){
   if (isnumber(ch)){
     sgood += ch;
         }
    }
return sgood;
}
//isnumber()判断字符是否数字,或者通过ascll码来判断

  • 将字符串中所有大写字母换为小写
string lowercase(string s) {
       
for (char ch: s){
   if (isupper(ch)){
     ch= tolower(ch);
         }
    }
   
   return s;
}

//isupper()判断字符是否为大写
//islower()判断字符是否为小写
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

取名真是

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值