C/C++教程

c++中的string

本文主要是介绍c++中的string,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

#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;

这篇关于c++中的string的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!