C++ char[] 与 string 转换
【摘要】 处理档案资料,最常使用
char[]
或
string
来储存字串,前者是
字元阵列
,为C所拥有,当然C++也可以使用;而后者是C++独有的
字串类别
,可以产生字串物件。
在使用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
请按任意键继续. . .
可见到string转char[]相当简单,只要呼叫string class的成员函式c_str(),即可将string转为char[]。
那么char[]转string呢?有两种方法,第一种是初始string变数时,即把char[]当作参数来初始化,第二种则是使用string class的成员函式assign(char[])来将char[]指定为string变数。
文章来源: chenyu.blog.csdn.net,作者:chen.yu,版权归原作者所有,如需转载,请联系作者。
原文链接:chenyu.blog.csdn.net/article/details/52012010
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)