您的位置:首页 > 编程语言 > C语言/C++

C++处理char*,char[],string三种类型间的转换

2018-01-30 21:59 323 查看

前言

在C和C++中,有一个相当重要的部分,就是字符串的编程描述。在学C的时候,很多人习惯了char[],char*表示法,直到遇见了C++后,出现了第三者:string。这时候,很多初学者就会在这三种字符串表现形式的转换上出现错误,以下是笔者总结的一些最常用的字符串转换方法供大家参考。

代码

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <string.h>
using namespace std;

int main(void)
{
string str = "HelloWorld";
char str4[15] = "\0";
char str5[15] = "\0";
char str6[15] = "\0";
char* str1 = (char*)str.data(); //string => char*
char* str2 = (char*)str.c_str();//string => char*
string str3 = str1;             //char* => string
strcpy(str4,str1);              //char* => char[]
memcpy(str5,str1,strlen(str1));  //char* => char[]
for(int i=0; i<str.length(); i++) //string => char[]
{
str6[i] = str[i];
}
string str7 = str4;             //char[] => string
char* str8 = str4;             //char[] => char*
cout<<str1<<endl;
cout<<str2<<endl;
cout<<str3<<endl;
cout<<str4<<endl;
cout<<str5<<endl;
cout<<str6<<endl;
cout<<str7<<endl;
cout<<str8<<endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C C++ 字符串