char[] 转换成cstring

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了char[] 转换成cstring相关的知识,希望对你有一定的参考价值。

1、调用string的data函数转换代码。

2、使用string的c_str函数转换代码。

3、去调用string的copy函数转换代码 。

4、string 转换成 char *方法代码。

5、使用char *转换成string方法代码。

6、推荐使用的转换方法。

参考技术A

1、首先调用string的data函数转换代码 。

2、接着使用string的c_str函数转换代码。

3、然后调用string的copy函数转换代码 。

4、接着copy出string的一个成员函数。

5、然后使用char *p=“adg”转换成string方法代码。

6、最后实现char[] 转换成cstring。

参考技术B 这个CString是MFC库里面的类么?
如果是的话,有如下3种方法
方法1:
char a[] = "This is a test";
CString str = a;
方法2:
CString str(a);
方法3:
CString str;
str.Format(_T("%s"), a);追问

用以上方法我都试过了,可是经过转换后在使用str时,值并不是"This is a test",输出的是“008AEFE8”,但用str.GetLength()输出又是14,请问这是什么原因,我现在要使用str的值,怎么获得?谢谢!

追答

你的008AEFE8这个是str的地址吧
你要怎么使用str的值?str的什么值?

追问

有个函数,参数为CString类型,调用函数传入str时,str的值不是我想要的"This is a test",怎样才能得到"This is a test"这个值呢

追答

你要得到"This is a test"这个值,那你为什么用CString?
直接传递char数组,或者指针就行了
实在是没有理解你想怎么使用

如果你想看CString的内容,如下代码
cout<<(LPCTSTR)str<<endl;
可以使用str.GetBuffer()来得到str数据的指针

本回答被提问者采纳
参考技术C char str[] = "hello";
CString c = str;
参考技术D 直接等于

以上是关于char[] 转换成cstring的主要内容,如果未能解决你的问题,请参考以下文章

如何将char数组转换为CString

怎样把Cstring转换成wchar

怎么把char 数组转换成String?

C++CString转换为const char *类型

VC中char*与cstring型的转换

VC中BSTRChar*CString和CComBSTR类型的转换