建立C風格字串時,可以建立char型態的陣列,並將字串中的每一個字元指定給陣列中的元素,然後加上一個0,表示為'\0'代表字串的中止符號,標記字串結束。
建立字串有以下兩個方法
#include <iostream>
using namespace std;
int main()
{
char word[] = {'H' , 'e' , 'l' , 'l' , 'o' , '\0'};
char string1[] = "Hello";
cout << string1 << endl;
return 0;
}
其它字串function:
尋找字串:strstr
比較字串:strcmp
連結字串:strcat
拷貝字串:strcpy
將整數轉換成字串:itoa
將字串轉換成整數:atoi
將字串轉換成float:atof
傳回字串的長度:strlen
將一個數格式化為一個字串,該函數的用法是:
sprintf(string,format,list)
string是將要顯示的字串,format是表明格式化結果的轉換字串,為list中的每一個元素都指定轉換字串。可能在使用socket時會用到~
用cin的方法讀取C風格的字串
#include <iostream>
using namespace std;
int main()
{
const int total = 50;
char string1[total];
cout << "Type some words: ";
cin.getline(string1,total);
cout << "You typed: " << string1 << endl;
return 0;
}
該方法讀取的字元數為傳入的數目減1,因為,必須考慮到串尾的'\0'的空間。
將儲存字串的C風格的字串以及要讀取的最大字元傳入到cin.get (cin.get將一直讀取到最大的字元數減1,或者使用者按下Enter)。
需要注意一點:cin.get一直讀取,直到有一個終止符號'\n',但是,不讀取'\n'。要將'\n'從輸入緩衝區清除時,可以使用方法cin.clear,或者再次呼叫cin.get。
#include <iostream>
using namespace std;
int main()
{
const int total = 50;
char string1[total];
cout << "Type some words: ";
cin.get(string1,total).get();
cout << "You typed: " << string1 << endl;
return 0;
}
在C++中如果以""來包括一串文字的話,即為字串字面常數,例如"Hello! World!"就是字串字面常數,字串字面常數由字元陣列組成,每一個字串最後會以一個null字元結束。
沒有留言:
張貼留言