#include <iostream> #include <string> using namespace std; int main(){ string s="abcdefghijk"; //capacity 当前对象分配的内存空间 cout<<s.capacity()<<endl; s="abcde"; //size/length 返回字符数 cout<<s.size()<<" "<<s.length()<<endl; //max_size 返回字符数最大值 cout<<s.max_size()<<" "<<s.capacity()<<endl; //clear 清除内容 s.clear(); cout<<s.size()<<" "<<s.capacity()<<endl; //empty 判断是否为空 cout<<s.empty()<<endl; s="0123456789"; //insert 插入字符(通过地址或下标) s.insert(1,3,'a'); cout<<s<<endl; s.insert(2,"bc"); cout<<s<<endl; s.insert(8,"i_love_c++",2,4); cout<<s<<endl; s.insert(s.begin()+5,'$'); cout<<s<<endl; s.insert(s.begin()+6,3,'&'); cout<<s<<endl; //erase 删除字符(通过地址或下标) s.erase(8,2); cout<<s<<endl; s.erase(find(s.begin(),s.end(),'a')); cout<<s<<endl; s.erase(s.find('6')); cout<<s<<endl; //push_back 附加字符到结尾 s.push_back('+'); //append 附加字符串到结尾 s.append(3,'*'); s.append("/////"); s.append("0123456",3,2); //operator+= 附加字符或字符串到结尾 s+='9'; s+="8888"; cout<<s<<endl; //pop_back 移除末尾字符 s.pop_back(); cout<<s<<endl; //compare 比较两个字符串 返回:正 负 零 string s1="abcdefgh",s2="abcdefgg"; cout<<s1.compare(s2)<<endl; //starts_with 是否以xx开头 //s="unsigned"; //cout<<s.starts_with("un")<<endl; //ends_with 是否以xx结尾 //replace 替换 s="i_love_c++"; s.replace(2,4,"like"); cout<<s<<endl; s.replace(s.begin(),s.begin()+3,5,'I'); cout<<s<<endl; //substr 字符串截取 s="0123456789"; cout<<s.substr(2,5)<<endl; cout<<s.substr(4)<<endl; //copy 复制 char c[200]; s.copy(c,5); cout<<c<<endl; //resize 重置大小 cout<<s<<endl; s.resize(2); cout<<s<<endl; s.resize(20,'a'); cout<<s<<endl; //swap 交换 s1="abc",s2="1234"; s1.swap(s2); cout<<s1<<" "<<s2<<endl; //find 查找 s="abcdefghiabcdefghi"; cout<<s.find("cde")<<endl; cout<<s.find("cde",5)<<endl; cout<<s.find('f')<<endl; //rfind 反向查找 cout<<s.rfind("cde")<<endl; cout<<s.rfind("cde",5)<<endl; cout<<s.rfind('f')<<endl; //find_first_of 首次出现位置 //find_first_not_of 首次缺失位置 //find_last_of 最后一次出现位置 //find_last_not_of 最后一次缺失位置 return 0; } (责任编辑:admin) |