c++ char[] 與 string 轉換

處理檔案資料,最常使用char[]string來儲存字串,前者是字元陣列,爲C所擁有,當然C++也可以使用;而後者是C++獨有的字串類別,可以產生字串物件。

在使用C++處理字串時,時常會char[]string互轉,來符合接下來要使用的函式中參數的型態,假如可以互轉自如,那麼處理起檔案資料會更簡單便利喔!

我測試的程式碼如下:

/** 
	Theme: string & char[] transform 
	Compiler: Dev C++ 4.9.9.2 
	Date: 100/05/01 
	Author: ShengWen 
	Blog: http://cg2010studio.wordpress.com/ 
*/ 
#include<iostream> 
using namespace std ; 
int main(){ 
	string test_string="test_string"; 
	char test_char[]="test_char", result_char[20]; 

	string result_string1(test_char); 
	string result_string2; 
	result_string2.assign(test_char); 
	strcpy(result_char, test_string.c_str ()); 

	cout<<"test_string: "<<test_string<<endl; 
	cout<<"test_char: "<<test_char<<endl; 
	cout<<"result_string1: "<<result_string1<<endl; 
	cout<<" result_string2: "<<result_string2<<endl; 
	cout<<"result_char: "<<result_char<<endl; 

	system("pause"); 
	return EXIT_SUCCESS; 
}



程式結果爲:

test_string: test_string 
test_char: test_char 
result_string1: test_char 
result_string2: test_char 
result_char: test_string 
請按任意鍵繼續. . .

可見到stringchar[]相當簡單,只要呼叫string class的成員函式c_str(),即可將string轉爲char[]
那麼char[]string呢?有兩種方法,第一種是初始string變數時,即把char[]當作參數來初始化,第二種則是使用string class的成員函式assign(char[])來將char[]指定爲string變數。

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