1、char數組轉string
有很多種方法: 假設c字符串定義為char ch[]="hello world!"; 1.向構造函數傳入c字符串創建string對象: string str(ch); 2.使用拷貝構造函數創建string對象: string str = ch; 3.對已有的string對象調用string類內部定義的賦值運算符: string str; str = ch; 前兩種類似,但和第三種有較大區別,前兩種是運用構造函數直接創建一個內容與c字符串一致的string對象;第三種是c++標准庫編寫的string類的內部重載了賦值運算符,使之能夠以c字符串作為右操作數對string對象進行賦值,使string對象的內容與c字符串一致。
1. c_str():生成一個const char*指針,指向以空字符終止的數組。
② c_str()返回一個客戶程序可讀不可改的指向字符數組的指針,不需要手動釋放或刪除這個指針。
2. data():與c_str()類似,但是返回的數組不以空字符終止。
3. copy(p,n,size_type _Off = 0):從string類型對象中至多復制n個字符到字符指針p指向的空間中。默認從首字符開始,但是也可以指定,開始的位置(記住從0開始)。返回真正從對象中復制的字符。------用戶要確保p指向的空間足夠保存n個字符。