C++中的 stringstream
阿新 • • 發佈:2018-11-10
一、string
string 是 C++ 提供的字串型別,和 C 的字串相比,除了有不限長度的優點外,還有其他許多方便的功能。要使用 string, 必須先加入這一行:
#include <string>
using namespace std;
接下來要定義一個字串變數,可以寫成:
string s;
我們也可以在定義的同時初始化字串:
string s = "you";
而要取得其中某一個字元,和傳統C 的字串一樣是用 s[i] 的方式取得。比較不一樣的是如果 s 有三個字元,傳統 C 的字串的 s[3] 是'\0' 字元,但是 C++ 的 string 則是隻到 s[2] 這個字元而已。
做一個對照:
操作 | string | 字元陣列 |
定義字串 | string s; | char s[100]; |
取得第i個字元 | s[i] | s[i] |
字串長度 | s.length() 或 s.size() |
strlen(s) |
讀入一行 | getline(cin, s); | gets(s); |
賦值 | s = "you"; | strcpy(s, "you"); |
字串連線 | s = s + "you"; s += "you"; |
strcat(s, "you"); |
字串比較 | s == "you" | strcmp(s, "you"); |
兩個string常用的方法是find和substr。在下面的程式碼當中:find函式從str的第3個位置查起,找到ssdf這個子串後,返回子串的位置。而substr函式從pos位置開始,擷取5個字元,賦值給str2。也就是說,str2之後的內容將是ssdfs。