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

  

原文地址:https://www.cnblogs.com/tony-yang-flutter/p/15424377.html