1、字符串的基本用法
#include <iostream>
int main(int argc, const char * argv[])
{
std::string str;
std::string str1("Hello World!");
std::string *pstr = new std::string;
std::string *pstr1 = new std::string();
std::string *pstr2 = new std::string("Hello World!");
std::string str4 = "Hello World!";
char const *pc = "Hello World!";
std::string str5 = pc;
char sa[] = "Hello World!";
std::string str6 = sa;
char const *pc1 = str6.c_str();
return 0;
}
2、字符串的基本运算
#include <iostream>
int main(int argc, const char * argv[])
{
std::string str1 = "Hello ";
std::string str2 = "World!";
std::string str3 = str1 + str2;
std::string str4 = "Hello ";
std::string str5 = "World!";
std::string str6;
str6 = str5;
str4 += str5;
std::string str7 = "zhangfei";
std::string str8 = "zhaoyun";
if (str7 == str8)
std::cout << str7 << "==" << str8 << std::endl;
else if (str7 < str8)
std::cout << str7 << "<" << str8 << std::endl;
else
std::cout << str7 << ">" << str8 << std::endl;
return 0;
}
3、字符串的大小和容量
#include <iostream>
int main(int argc, const char * argv[])
{
std::string str1 = "Hello World!";
std::cout << str1.size() << std::endl;
std::cout << str1.length() << std::endl;
str1.resize(20, 'a');
std::cout << str1 << std::endl;
std::cout << str1.capacity() << std::endl;
str1.reserve(50);
std::cout << str1.capacity() << std::endl;
return 0;
}
4、字符串的拼接
#include <iostream>
int main(int argc, const char * argv[])
{
std::string str1 = "Hello ";
std::string str2 = "World!";
str1.append(str2);
std::cout << str1 << std::endl;
std::string str3 = "Hello ";
std::string str4 = "Hello World!";
str3.append(str4, 6, 6);
std::cout << str3 << std::endl;
std::string str5 = "Hello ";
str5.append(10, 'A');
std::cout << str5 << std::endl;
return 0;
}
5、在字符串中搜索特定的字符
#include <iostream>
int main(int argc, const char * argv[])
{
std::string str1 = "Hello World!";
std::cout << str1.find_first_of('o') << std::endl;
std::string str2 = "World!";
std::cout << str1.find_first_of(str2) << std::endl;
std::cout << str1.find_first_not_of('o') << std::endl;
std::cout << str1.find_first_not_of(str2) << std::endl;
std::cout << str1.find_last_of('o') << std::endl;
std::cout << str1.find_last_of(str2) << std::endl;
std::cout << str1.find_last_not_of('o') << std::endl;
std::cout << str1.find_last_not_of(str2) << std::endl;
return 0;
}
6、在字符串中提取子字符串
#include <iostream>
int main(int argc, const char * argv[])
{
std::string str1 = "Hello World!";
std::string str2(str1, 0, 6);
std::cout << str2 << std::endl;
std::string str3 = str1.substr(6, 6);
std::cout << str3 << std::endl;
return 0;
}
7、访问字符串中的单个字符
#include <iostream>
int main(int argc, const char * argv[])
{
std::string str1 = "Hello World!";
std::cout << str1[2] << std::endl;
std::cout << str1.at(6) << std::endl;
return 0;
}
8、字符串的查找与替换
#include <iostream>
int main(int argc, const char * argv[])
{
std::string str1 = "Hello World!";
std::cout << str1.find("o") << std::endl;
std::cout << str1.find("o", 5) << std::endl;
std::cout << str1.rfind("o") << std::endl;
std::cout << str1.rfind("o", 5) << std::endl;
std::string str2 = "Tarena";
str1.replace(6, 5, str2);
std::cout << str1 << std::endl;
return 0;
}
9、字符串的比较与排序
#include <iostream>
int strCmp (const void* a, const void* b)
{
return (*(std::string const*)a).compare (*(std::string const*)b);
}
int main(int argc, const char * argv[])
{
std::string str1 = "Hello World!";
std::string str2 = "Hello World!";
std::cout << str1.compare(str2) << std::endl;
std::string str3[] = {"chongqing", "tianjin", "beijing", "shanghai"};
size_t size = sizeof (str3[0]);
size_t nmemb = sizeof (str3) / size;
qsort (str3, nmemb, size, strCmp);
for (int i = 0; i < nmemb; i++)
std::cout << str3[i] << std::endl;
return 0;
}
10、字符串的插入与删除
#include <iostream>
int main(int argc, const char * argv[])
{
std::string str1 = "Hed!";
std::string str2 = "llo Worl";
std::cout << str1.insert(2, str2) << std::endl;
std::cout << str1.erase(2, 8) << std::endl;
return 0;
}
11、字符串的交换与复制
#include <iostream>
int main(int argc, const char * argv[])
{
std::string str1 = "Hello ";
std::string str2 = "World!";
swap(str1, str2);
std::cout << str1 << std::endl;
std::cout << str2 << std::endl;
std::string str3 = "Hello World!";
std::string str4;
str4.assign(str3);
std::cout << str4 << std::endl;
std::string str5;
str5.assign(str3, 2, 8);
std::cout << str5 << std::endl;
return 0;
}