1. 程式人生 > >C++中的 stringstream

C++中的 stringstream

一、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。