c++ char[] 与 string 转换

来源:互联网 发布:java中int的取值范围 编辑:程序博客网 时间:2024/06/03 23:04

原文:点击打开链接

处理档案资料,最常使用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变数。


0 0
原创粉丝点击