当前位置:编程学习 > C#/ASP.NET >>

托管字符串赋值问题求解

唉。。最近处理托管方面的字串发现相当的纠结,经常遇到一些问题编译通不过

问题是:
现有一个是 String ^dst=""; 一个是已知的 string src = "123456789";这样的值。
现在就是想把src中赋值给dst

试过 
1. strcpy,  提示 不能将参数 String^ 转成 char *
2. 搞个
    for (BYTE i=0;i<11;i++)
{
dst[i]=src[i];
}
提示String::default属性没有set方法。
快疯了。
--------------------编程问答-------------------- 我晕啊,是不是太简单没人理我了。 --------------------编程问答-------------------- 快快哪位告诉我,我要散分了。 --------------------编程问答-------------------- 应该是不行的!string是C++标准类型,String是托管C++的类库,不能相互赋值的 --------------------编程问答--------------------
String ^dst=gcnew String(src.c_str());
--------------------编程问答--------------------
引用 4 楼 bloodish 的回复:
C/C++ code
String ^dst=gcnew String(src.c_str());


请教一下,如果反过来如何赋值?
一个 String ^dst,要给一个 string src赋值。 --------------------编程问答--------------------
引用 5 楼 coderhome 的回复:
引用 4 楼 bloodish 的回复:
C/C++ code
String ^dst=gcnew String(src.c_str());


请教一下,如果反过来如何赋值?
一个 String ^dst,要给一个 string src赋值。


string src=  static_cast<const char*>(Marshal::StringToHGlobalAnsi(dst).ToPointer());
--------------------编程问答--------------------
引用 6 楼 bloodish 的回复:
引用 5 楼 coderhome 的回复:
引用 4 楼 bloodish 的回复:
C/C++ code
String ^dst=gcnew String(src.c_str());


请教一下,如果反过来如何赋值?
一个 String ^dst,要给一个 string src赋值。


string src= static_cast<const char*>(Marsha……


哇楼上的方法果然可以。现在再请教一个问题:
假设 cmdtext = "aa bbbbbbb"
void func(System::String ^cmdtext)
{
array<String^>^arr =  cmdtext->Split(' ');
那arr[1]如何检测长度啊?

试过的办法
arr[1].Length  //报错
sizeof(arr[1]) //不行=4
arr[1]->get_Length //报错




} --------------------编程问答--------------------
引用 7 楼 coderhome 的回复:
引用 6 楼 bloodish 的回复:
引用 5 楼 coderhome 的回复:
引用 4 楼 bloodish 的回复:
C/C++ code
String ^dst=gcnew String(src.c_str());


请教一下,如果反过来如何赋值?
一个 String ^dst,要给一个 string src赋值。


string src= static_ca……

arr[1]->Length;
--------------------编程问答-------------------- Marshal::Ptr2StringAuto(src.c_str())
Marshal::String2Ptr(string^)
补充:.NET技术 ,  VC.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,