最近在搞C++/CLI,发现经常需要涉及字符串之间的传递和转换,因此记录下。
在C++/CLI中,我们可以接触到三种字符串std::string
,System::string
,cstring
。这里我们分别称之为标准字符串,托管字符串和c语言字符串。
std::string 和 cstring
cstring是一个char数组,在string.h 中直接定义了c_str
方法完成std::string 到 cstring的转换
这里获得的是一个char的指针常量,指向cstring数组
与此同时,string.h还定义了string
构造函数从cstring构造std::string
System::String 和 cstring
由于c#中safe代码区域不会使用指针,所以cstring的表现为char数组。
System::String 中定义了ToCharArray
方法可以获得char数组
同样可以使用System::String 的构造函数从