当前位置: 代码迷 >> VC >> 如何把“char *”转换为“System:String ^”
  详细解决方案

如何把“char *”转换为“System:String ^”

热度:1041   发布时间:2013-02-25 00:00:00.0
怎么把“char *”转换为“System::String ^”
String ^username=this->textBox2->Text;
char *buffer=new char[100];
fstream ifn;
ifn.open("user.txt");
while(ifn.getline(buffer,100)){
String ^s=(String^)buffer;
if(username==s){
ifn.getline(buffer,100);
s=(String^)buffer;
String ^password=this->textBox1->Text;
if(password==s){
ifn.close();
for(int i=0;i<this->panel1->Controls->Count;i++){
RadioButton^ btn=(cli::safe_cast<RadioButton^>(this->panel1->Controls[i]));
if(btn->Checked){
String^ str=String::Concat(btn->Text);
if(str=="管理员"){
Admin ^admin=gcnew Admin();
admin->Show();
}
else{
CSimpDlg ^pDlg=gcnew CSimpDlg();
pDlg->Show();
}
}
}
break;
}
}
}





error C2440: “类型转换”: 无法从“char *”转换为“System::String ^”

------解决方案--------------------------------------------------------
http://support.microsoft.com/kb/311259

这个帖子里面的互相转换好好看看了。~~
------解决方案--------------------------------------------------------
string char_to_string( char *char) 
{
string s = char;
return s; 
}
------解决方案--------------------------------------------------------
pin_ptr实现。
------解决方案--------------------------------------------------------
使用String的构造函数,直接gcnew一个就可以了
  相关解决方案