C++\CLI 下String^转换成interior_ptr<const wchar_t>
其实这段代码是来自vcclr.h中的PtrToStringChars方法
SMPTRSTR如下:
typedef cli::interior_ptr<const wchar_t> SMPTRSTR;
目的是为了把Strng^类型的数据,转换成指向S的第一个字符的指针,由于这个返回值是const wchar_t的指针,所以其每个字符都是占两个字节的
对于是Unicode的字符,其实也是占两个字节的
同时对于如果是Ansi的String,可以把这个方法的返回值转型成interior_ptr<const char>类型,如下:
这样就可以转换成只每个字符只占一个字节
坚持一份收获