c++ char数组如何转化为String对象

我现在根据编译提示:调整了一下chrszLog[64];String^str1=gcnewString(szLog);调整以后编译通过了,并且运行也正确。谢谢回答!不过各... 我现在根据编译提示:调整了一下
chr szLog[64];
String^ str1= gcnew String(szLog);
调整以后编译通过了,并且运行也正确。
谢谢回答!不过各位能帮我解释一下这样的语句含义吗?
看到别人的回答了,明白了。

在 .NET 框架下,^ 声明了一个由 GC(System.GC)管理的指针,
这表示你所使用的类型是托管类型(例如此处的 System.String),
它的用法与 * 差不多,只不过 * 是非托管类型的指针,例如:
CObject* obj1 = new CMyObject();
但是,如果你准备使用 .NET 框架,编写 CLR 程序,
当你需要一个使用托管的引用类型时,就要使用 ^:
array<int> ^IntArray1 = gcnew array<int>(10);
IntArray1[9] = 100;
//声明了一个包含 10 元素(0 - 9)的托管数组
System::Collections::Generic::List<int> ^L1 = gcnew System::Collections::Generic::List<int>;
L1->Add(100);
//声明了一个列表实例
使用 String^ 表示当前使用的是“托管类型” System.String 的指针,
其特点就是不需要使用 delete 销毁之,
因为 GC 会完成一切。
展开
 我来答
poseidon_k
2012-08-01 · TA获得超过2580个赞
知道小有建树答主
回答量:1223
采纳率:0%
帮助的人:309万
展开全部
有很多种方法:
假设c字符串定义为char ch[]="hello world!";
1.向构造函数传入c字符串创建string对象:
string str(ch);
2.使用拷贝构造函数创建string对象:
string str = ch;
3.对已有的string对象调用string类内部定义的赋值运算符:
string str;
str = ch;

前两种类似,但和第三种有较大区别,前两种是运用构造函数直接创建一个内容与c字符串一致的string对象;第三种是c++标准库编写的string类的内部重载了赋值运算符,使之能够以c字符串作为右操作数对string对象进行赋值,使string对象的内容与c字符串一致。
更多追问追答
追问
回答很详细,只是你说的这个string和我说的String不是一个呢。不过还是很感谢
追答
String是JAVA里的,你用的JAVA啊?
wuchenyong119
2012-08-01 · TA获得超过265个赞
知道小有建树答主
回答量:194
采纳率:0%
帮助的人:168万
展开全部
char *a[]="abcd";
string str;
str=a;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Bk0X
2012-08-01 · TA获得超过9413个赞
知道小有建树答主
回答量:1217
采纳率:60%
帮助的人:664万
展开全部
构造函数.

const char* c_str = "hello";

std::string(c_str); // C++标准库的string
CString(c_str); // MFC 的string
追问
我现在根据编译提示:调整了一下
chr szLog[64];
String^ str1= gcnew String(szLog);
调整以后编译通过了,并且运行也正确。
谢谢回答!不过各位能帮我解释一下这样的语句含义吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
39674308
2012-08-01 · 超过11用户采纳过TA的回答
知道答主
回答量:523
采纳率:0%
帮助的人:128万
展开全部
自己想
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式