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 会完成一切。 展开
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 会完成一切。 展开
4个回答
展开全部
有很多种方法:
假设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字符串一致。
假设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啊?
展开全部
char *a[]="abcd";
string str;
str=a;
string str;
str=a;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
构造函数.
const char* c_str = "hello";
std::string(c_str); // C++标准库的string
CString(c_str); // MFC 的string
const char* c_str = "hello";
std::string(c_str); // C++标准库的string
CString(c_str); // MFC 的string
追问
我现在根据编译提示:调整了一下
chr szLog[64];
String^ str1= gcnew String(szLog);
调整以后编译通过了,并且运行也正确。
谢谢回答!不过各位能帮我解释一下这样的语句含义吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
自己想
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询