1. 程式人生 > >C++處理char*,char[],string三種類型間的轉換

C++處理char*,char[],string三種類型間的轉換

前言

      在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; }