2020-10-18C++笔记之C/C++之字符串赋值

C++笔记之C/C++之字符串赋值

C

序号函数 & 目的
1strcpy(s1, s2);
复制字符串 s2 到字符串 s1。
2strcat(s1, s2);
连接字符串 s2 到字符串 s1 的末尾。
3strlen(s1);
返回字符串 s1 的长度。
4strcmp(s1, s2);
如果 s1 和 s2 是相同的,则返回 0;如果 s1<s2 则返回小于 0;如果 s1>s2 则返回大于 0。
5strchr(s1, ch);
返回一个指针,指向字符串 s1 中字符 ch 的第一次出现的位置。
6strstr(s1, s2);
返回一个指针,指向字符串 s1 中字符串 s2 的第一次出现的位置。

C++

string s="";

string a="abcdefg";

 

1.将字符串a的元素赋值逐一赋值给另一字符串s

s+=a[i];

 

2.将字符串a完全赋值给新字符串s

s.assign(a);

 

3.将字符串a的一部分赋值给新的字符串s

start是截取字符串的首位置,len是截取字符串的长度

s.substr(start,len);

s.assign(a,start,len);

 

4.对字符串s赋相同的n个初值

s.assing(n,'x'),如给s赋10个字符a写法如下:

s.assign(10,'a');

 

特别注意:strcmp(const char s1,const char s2)这里面只能比较字符串,即可用于比较两个字符串常量,或比较数组和字符串常量,不能比较数字等其他形式的参数。
ANSI标准规定,返回值为正数,负数,0 。而确切数值是依赖不同的C实现的。
如果要比较的对象是两个string,则利用函数compare()。若要比较string s1和s2则写为:s1.compare(s2),若返回值为0,则两者相等。
注意:在比较两个字符串时不能利用符号“==”,“==”符号比较的是两个字符串的地址是否相等,此前在这个问题上犯过错误,谨记!谨记!
若是比较两个字符,则可以用”==”直接进行比较~

但在比较两个string对象时是可以利用“==”的,相等的话,则表达式的返回值为1,不等为0。

string str1,str="adadadad";
    int length =str.size();
        for(int i=0;i<length;++i)
        {
            str1=str1+str[i];
            //cout<<str1[i]<<endl;
        }
        cout<<str<<endl;
        cout<<str1<<endl;
    return 0;

不能str1[i]=str[i],会失败

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值