zoukankan      html  css  js  c++  java
  • c++字符串简单操作回顾

    一、概述

      案例:回顾string字符串相关操作。

    二、代码示例

    #include <iostream>
    #include <string>
    #include <vector>
    
    using namespace std;
    
    void test(){
    	string str;
    	str = "luoluoyang";
    	str.assign("luoluoyang",3);
    	cout << str<<endl;
    	string str2;
    	str2.assign(str);
    	cout << str2<<endl;
    
    	str2.assign(str,0,2);
    	cout <<str2<<endl;
    }
    
    void test1(){
    	//字符串拼接
    	string str1 = "luoluoyang ";
    	string str2 = "luoluoyang";
    	str1+=str2;
    	cout<<str1<<endl;
    	str1.append(" and tony son");
    	cout << str1<<endl;
    
    	//查找字符串
    	string str = "Today is another beautiful day";
    	int pos = str.find("is");
    	if(pos==-1){
    		cout << "str not found"<<endl;
    	}else{
    		cout << "str found is pos:"<<pos<<endl;
    	}
    
    	//替换
    	str.replace(1,5,"TTTTT");
    	cout<<str<<endl;
    
    	string str3 = "hello world";
    	string str4 = "hello world";
    	//比较操作
    	if(str4.compare(str3)==0){
    		cout << "equals"<<endl;
    	}else{
    		cout << "not equals"<<endl;
    	}
    
    	//查找子串
    	string strsub = str.substr(0,5);
    	cout << strsub<<endl;
    
    	//
    	string email = "tony@163.com";
    	int pos2 = email.find("@");
    	string posStr = email.substr(0,pos2);
    	cout << posStr<<endl;
    
    	cout << "-----------------"<<endl;
    	//解析字符串
    	string str5 = "www.baidu.compare";
    	vector<string> v;
    	int start = 0;
    	int pos3 = -1;
    	while(true){
    		pos3 = str5.find(".",start);
    		if(pos3==-1){
    			string tempstr = str5.substr(start,str5.size()-start);
    			v.push_back(tempstr);
    			break;
    		}
    		string tempstr = str5.substr(start,pos3-start);
    		v.push_back(tempstr);
    		start = pos3+1;
    	}
    	for(vector<string>::iterator it = v.begin();it!=v.end();it++){
    		cout << *it <<endl;
    	}
    
    
    	cout << "------------"<<endl;
    	//插入字符
    	string str6 = "luoluoyang";
    	str6.insert(0,"222");
    	cout << str6<<endl;
    
    	//删除字符
    	str6.erase(0,3);
    	cout <<str6<<endl;
    
    	//string和char *str相互转换
    	char *str7 = "tony";
    	string str8(str7);
    	cout <<str8<<endl;
    
    	string str9 = "kiki";
    	const char *str10 = str9.c_str();
    	cout << str10<<endl;
    }
    
    int main(int argc, char const *argv[])
    {
    	
    	// test();
    	test1();
    	return 0;
    }
    

      

  • 相关阅读:
    javascript中Function、ArrowFunction和GeneratorFunction介绍
    javascript中Function、ArrowFunction和GeneratorFunction介绍
    26个ASP.NET常用性能优化方法
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    什么是去中心化市场(OpenBazaar)
    去中心化共识
    侧链/楔入式侧链
    零知识证明(Zero Knowledge Proof,ZKP)
  • 原文地址:https://www.cnblogs.com/tony-yang-flutter/p/15424377.html
Copyright © 2011-2022 走看看