C++ char[] 与 string 转换

举报
chenyu 发表于 2021/07/27 01:52:37 2021/07/27
【摘要】 处理档案资料,最常使用 char[] 或 string 来储存字串,前者是 字元阵列 ,为C所拥有,当然C++也可以使用;而后者是C++独有的 字串类别 ,可以产生字串物件。 在使用C++处理字串时,时常会char[]和string互转,来符合接下来要使用的函式中参数的型态,假如可以互转自如,那么处理起档案资料会更简单便利喔! 我测试的程式码如下: ...
处理档案资料,最常使用 char[] string 来储存字串,前者是 字元阵列 ,为C所拥有,当然C++也可以使用;而后者是C++独有的 字串类别 ,可以产生字串物件。

在使用C++处理字串时,时常会char[]string互转,来符合接下来要使用的函式中参数的型态,假如可以互转自如,那么处理起档案资料会更简单便利喔!

我测试的程式码如下:



  
  1. /**
  2. Theme: string & char[] transform
  3. Compiler: Dev C++ 4.9.9.2
  4. Date: 100/05/01
  5. Author: ShengWen
  6. Blog: http://cg2010studio.wordpress.com/
  7. */
  8. #include<iostream>
  9. using namespace std ;
  10. int main(){
  11. string test_string="test_string";
  12. char test_char[]="test_char", result_char[20];
  13. string result_string1(test_char);
  14. string result_string2;
  15. result_string2.assign(test_char);
  16. strcpy(result_char, test_string.c_str ());
  17. cout<<"test_string: "<<test_string<<endl;
  18. cout<<"test_char: "<<test_char<<endl;
  19. cout<<"result_string1: "<<result_string1<<endl;
  20. cout<<" result_string2: "<<result_string2<<endl;
  21. cout<<"result_char: "<<result_char<<endl;
  22. system("pause");
  23. return EXIT_SUCCESS;
  24. }



程式结果为:

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变数。


文章来源: chenyu.blog.csdn.net,作者:chen.yu,版权归原作者所有,如需转载,请联系作者。

原文链接:chenyu.blog.csdn.net/article/details/52012010

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。