C/C++中string的函数用法

C标准中string函数:

strlen(p) ----返回p的长度;

strcmp(p1,p2)----比较p1,p2的相等性。如果p1==p2,返回0;如果p1>p2,返回一个正值;如果p1<p2,返回一个负值。

strcat(p1,p2)----将p2附加到p1之后,返回p1;

strcpy(p1,p2)----将p2拷贝给p1,返回p1。

C++中string的相关的一些操作:

  • 定义和初始化

string s1;    //默认初始化

string s2=s1;  // s2是s1的副本

string s3="hiya";  //s3是该字符串字面值的副本

string s5("hiya");  //s5是hiya的副本

string s4=(10,'c');  //s4的内容是10个c

 

  • string对象上的操作

os<<s              将s写到输出流os中,返回os

is<<s               从is中读取字符串赋给s,字符串以空白分隔,返回is

getline(is, s)    从is中读取一行赋给s,返回is

s.empty()        s为空返回true,否则返回false

s.size()            返回s中的字符个数

s[n]                 返回s中第n个字符的引用,位置n从0开始计起

s1+s2             连接

s1=s2             将s2赋给s1

s1==s2          如果s1和s2中所含的字符完全一样,则他们相等;string对象的相等性判断对字母的大小写敏感

s1!=s2           

<, ,=, >,>=    利用字母在字典序的顺序进行比较,且对字母的大小写敏感

 

eg:

string s;

getline(cin,s);

cout<<s<<endl;

 

  • 比较string对象

s1==s2   比较的是对象内容

在<,<=,>,>=的比较的原则:按字典序来排序:

  1. 如果2个字符串长度不一样,但其他的都相等,就是长的字符串大于短的字符串;

  2. 如果2个字符串在某些位置对不上,就会比较第一对出现不同的字符,返回相应的结果。

 

  • 两个string对象相加

 

  1. string对象相加其实就是连接的作用;

  2. c++的兼容性  只要保证加法符号的一边有一个是string对象;

  3. 切记:c++语言中的字符串字面值并不是标准库类型string对象。一定要记得字符串字面值与string是不同的类型。

 

  • 处理string对象中的每个字符和使用范围for循环

  1. 在cctype头文件中有一些处理字符的函数,我列举比较能用到的

isalnum(c)  当c是字母或者数字时为真

isalpha(c)   当c是字母时为真

isdigit(c)    当c是数字时为真

isgraph(c)  当c不是空格但可打印时为真

ispunct(c)  当c是标点符号时为真

isspace(c)  当c是空白时为真

isupper(c) 当c是大写字母时为真

isxdigit(c) 当c是16进制字母时为真

toupper(c)  如果c是小写,则返回大写字母,如果是大写则原样输出

tolower(c)   如果c是大写字母,则返回小写字母,如果是小写字母则原样输出

 

       2. 处理每个字符使用范围for循环

eg:   

  //不改变str:

    string str("some string");

    for(auto c: str)

        cout<<c<<endl;


 

  //改变str:

   string str("Hello world!!!");

   for(auto &c : str)

       c=toupper(c)

  cout<<s<<endl;

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值