char* char[] string之间的相互转换
2017-08-16 16:39
295 查看
网上也有很多这种文章了,但是好像都没有十分的全面,这样的话,自己来一个。
一、char*和char[]之间的转换
1.char*转成char[]
用strcpy函数就可以了。
2.char[]转成char*
直接赋值。
二、char*和string之间的转换
1.char*转成string
直接赋值。
2.string转成char*
通过c_str()函数。
这里有一个是:c_str()返回的是const char*类型的字符串,所以要强转一下。
三、char[]和string之间的转换
1.char[]转成string
直接赋值。
2.string转成char[]
两种方法。
(1)通过strcpy和c_str函数
(2)通过循环复制
建议用第一种。
一、char*和char[]之间的转换
1.char*转成char[]
用strcpy函数就可以了。
char* test1 = "char*"; char test2[10]; strcpy(test2, test1); printf("test1 to test2 %s\n", test2);
2.char[]转成char*
直接赋值。
char test2[10] = "char[]"; char *test1; test1 = test2; printf("test2 to test1 %s\n", test1);
二、char*和string之间的转换
1.char*转成string
直接赋值。
char *test1 = "char*"; std::string test3; test3 = test1; printf("test1 to test3 %s\n", test3.c_str());
2.string转成char*
通过c_str()函数。
char *test1; std::string test3 = "string"; test1 = const_cast<char*>(test3.c_str()); printf("test3 to test1 %s\n", test1);
这里有一个是:c_str()返回的是const char*类型的字符串,所以要强转一下。
三、char[]和string之间的转换
1.char[]转成string
直接赋值。
char test2[10] = "char[]"; std::string test3; test3 = test2; printf("test2 to test3 %s\n", test3.c_str());
2.string转成char[]
两种方法。
(1)通过strcpy和c_str函数
char test2[10]; std::string test3 = "string"; strcpy(test2, test3.c_str()); printf("test3 to test2 %s\n", test2);
(2)通过循环复制
char test2[10]; std::string test3 = "string"; for(int i = 0; i < test3.length(); i++) { test2[i] = test3[i]; } test2[test3.length()] = '\0'; printf("test3 to test2 %s\n", test2);
建议用第一种。
相关文章推荐
- uint byte[] char[] string 之间相互转换
- C++ vector模板与string 和 char 之间相互转换
- char * string nsstring 之间的相互转换
- char,string,cstring之间的相互转换
- 深入理解c++中char*与wchar_t*与string以及wstring之间的相互转换 [转]
- c++中string、const char*和char*之间的相互转换
- CString,int,string,char*之间的相互转换
- String ,StringBuilder,char[],char 之间的相互转换 快速实现反转,对称
- c++ 中 char 与 string 之间的相互转换问题
- java中int,char,string之间的相互转换方法
- c++中char*\wchar_t*\string\wstring之间的相互转换
- c++ 中 char 与 string 之间的相互转换问题
- string,CString,int,char*之间的相互转换
- C++ vector模板与string 和 char 之间相互转换
- c++ 中 char 与 string 之间的相互转换问题
- PInvoke复习之深入理解char*与wchar_t*与string以及wstring之间的相互转换
- c++ 中 char 与 string 之间的相互转换问题
- {wchar_t*, wchar_t, wchat_t数组},{char,char*,char数组},{std::string,std::wstring},CString之间的相互转换
- 深入理解c++中char*与wchar_t*与string以及wstring之间的相互转换
- string与char*和char[]之间的相互转换