ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

c++中的string

2022-02-25 23:35:06  阅读:126  来源: 互联网

标签:string str3 str2 c++ str printf cout


#include<string>

using namespace std;

string str

string str="abcd

#include<stdio.h>
#include<string>
#include <iostream> 
using namespace std;
int main(){
    string str = "abcd";
    
    printf("%s\n",str.c_str());//将string型str使用c_str()变为字符数组 
    
    for(int i  = 0; i<str.length();i++){
        printf("%c",str[i]);
    }
    
    for(string::iterator it= str.begin();it!=str.end();i++){//string迭代器 
        printf("%c",*it);
    }
    
    cin>>str;    //输入 
    cout<<str;//输出 
    
    
    string str1 = "abc", str2 = "xyz",str3="aaa",str4="xyz";
    str3 = str1+str2;//将str2直接拼接到str1上 
    
    cout<<str1<<end1;
    cout<<str3<<end1;
    
    if(str1<str2) printf("ok\n");//两个字典序直接比较 
    if(str1!str3)printf("ok2\n");
    if(str4>=str3) printf("ok3\n");
    return 0;
    
    printf("%d %d\n",str.length(), str.size());//string的长度,存放的字符数 
    
    
    string str = "abcxyz", str2="opq";
    str.insert(3,str2);//往str【3】处插入opq  
    cout<<str<<end1; 
    
    str.insert(str.begin()+3,str2.begin(),str2.end());//串【)将被插在it位置上 
    
    
    string str = "abcdefg";
    str.erase(str.begin()+4);//删除4号位(即e)
    str.erase(str.begin()+2,str.end()-1);//删除范围内的元素
    str.erase(3,2);//删除从3号位开始的两个字符,即de 
    cout<<str<<end1;//输出abcdfg 
    
    
    str.clear();//清除字符串
    
    
    string str = "thank you for your smile.";
    cout<< str.substr(0,5)<<end1;//结果 thank 
    cout<<str.substr(14,4)<<end1;//结果your 
    cout<<str.substr(19,5)<<end1; //结果smile 
    
    
    if(string::npos == -1){//::npos 等于-1或者 4294967295 
        cout<<"-1 is true."<<end1;
    } 
    
    if(string::npos == 4294967295){
        cout<<"4294967295 is also true."<<end1;
    }
    
    
    string str = "thank you for your smile.";
    string str2 = "you";
    string str3 = "me";
    
    if(str.find(str2)!==string::npos){//当str2是str子串时,返回其在str中第一次出现的位置,如果不是子串,返回string::npos 
        cout<<str.find(str2)<<end1;
    }
    
    if(str.find(str2,7)!=string::npos{//从str的pos号位开始匹配str2,返回值与上相同 
    cout<<str.find(str3)<<end1;
    
    string str = "thank you for your smile.";
    string str2 = "you";
    string str3 = "me";
    
    cout<<str.replace(10,4,str2)<<end1;//从pos号位开始,长度为len的子串替换为str2 
    cout<<str.replace(str.begin(),str.begin()+5,str3)<<end1;//迭代器范围内的子串替换为str2 
    
    return 0;

标签:string,str3,str2,c++,str,printf,cout
来源: https://blog.csdn.net/qq_45330176/article/details/123142353

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有