#define _CRT_SECURE_NO_DEPRECATE
#include <string> // 使用 string 類時須包含這個文件
#include <iostream>
using namespace std;
int main()
{
string str1;
// 輸入與輸出
cout << "輸入字符串 str1" << endl;
cin >> str1;
getchar();
cout << str1 << endl << endl << endl;
// 一行行讀取
cout << "輸入字符串 str1" << endl;
getline( cin, str1 );
cout << str1 << endl;
// 與c字符轉換
string str2("Hello World!"), str3;
char str4[50];
cout << "輸入 C 字符串" << endl;
scanf("%s", str4);
str3= str4;
cout << "str2 is " << str2 << endl;
cout << "str3 is " << str3 << endl << endl << endl;
// 求字符串的長度
string str5;
cout << "輸入字符串 str5" << endl;
cin >> str5;
int len= str5.size();
cout << "字符串 str5的長度為" << len << endl << endl << endl;
// 遍歷字符串例子
string str6;
cout << "輸入字符串 str6" << endl;
cin >> str6;
int i;
for( i= 0; i< str6.size(); ++i )
cout << str6[i];
cout << endl << endl;
// 比較兩個字符串 比較規則同 c字符串比較規則
string str7, str8;
cout << "輸入字符串 str7, str8 , 中間用空格格開" << endl;
cin >> str7 >> str8;
if( str7< str8 ) cout << str7 << " 小於 " << str8 << endl;
else if( str7> str8 ) cout << str7 << " 大於 " << str8 << endl;
else cout << str7 << " 等於 " << str8 << endl;
// 字符串與字符相加
string str9= "Darren";
char ch1= 'a', ch2= 'b';
str9= str9+ ch1; cout << str9 << endl << endl;
str9= ch2+ str9; cout << str9 << endl << endl << endl;
// 字符串與字符串相加
string str10= "Acm", str11= "ICPC";
str10.append( str11 );
cout << str10 << endl << endl;
// 字符串是否包含子串 如果包含 則返回子串在目標串中第一次出現的位置
string str12= "I am a student", str13= "student", str14= "aaaaaaa";
if( str12.find( str13 )!= -1 ) cout << "Find " << str13 << endl;
if( str12.find( str14 )== -1 ) cout << "Not Find " << str14 << endl;
// 轉換成 c_字符串
string str15= "Hello World";
printf("%s\n", str15.c_str() );
system("pause");
return 0;
}
摘自 小偉專欄