C++ string_demo

string類的使用  以及string與char * 之間相互轉換

string字符串 長度  相加 比較 子串查找


#include <string>    //  使用 string 類時須包含這個文件
#include <iostream>

using namespace std;

int main()
{
    string str1;
   
    //  輸入與輸出
    cout << "輸入字符串 str1" << endl;
    cin >> str1; 
	getchar();
    cout << str1  << endl;
    
    //  一行行讀取  
    cout << "輸入字符串 str1" << endl;
    getline( cin, str1 );//讀入一行字符串string
    cout << str1 << endl;

    //  與 c字符轉換  
    string str2("Hello World!"), str3;
    char   str4[50];

    cout << "輸入 C 字符串" << endl;
    scanf("%s",str4);
    str3= str4;//string str3;  char str4[50]  str3 = str4;  (char[] -->string )

    cout << "str2 is " << str2 << endl;
    cout << "str3 is " << str3 << endl << endl << endl;

    //  求string類型字符串的長度
    string str5;
    cout << "輸入字符串 str5" << endl;
    cin >> str5;
    int   len= str5.size();//string str5    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;

    //  比較兩個字符串 string  比較(直接 大小於)規則同 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 );//append
	str10 = str10 + 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  -->char [])
    string str15= "Hello World";
	char str16[10];
	strcpy(str16,str15.c_str());//char *strcpy(char* dest, const char *src);
    printf("%s\n", str16 );
     
    system("pause"); 

    return 0;
}


發佈了63 篇原創文章 · 獲贊 9 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章