char*, string, CString, String^的相互转换
从char*转换:
?? ? ? ?char *chars = "Hello";
- 从char*到string:?? ? string s(chars);从char*到CString:??CString s(chars);从char*到String^:??String ^s = gcnew String(chars);
?
从string转换?
?? ? ? string str("Hello");
- 从string到char*: ? ??char chars[64]; strcpy_s(chars, str.c_str());? ?从string到CString: ?CString s(str.c_str());从string到String^: ?String ^s = gcnew String(str.c_str());
?
从CString转换?
?? ? ? CString str("Hello");
- 从CString到char*: ? ??char chars[64]; strcpy_s(cahrs, str);? ?从CString到string: ? ??string s(str);从CString到String^: ?String ^s = gcnew String(str);
?
?? ? ? CString str("Hello");
?? ? ??pin_ptr<const wchar_t> wch = PtrToStringChars(str);
?
?? ?1.从String^到char*: ? ??
?? ? ? ? ? char chars[64];
?? ? ? ? ??size_t?convertedChars = 0;
?? ? ? ? ? wcstombs_s(&convertedChars, chars, wcslen(wch) + 1, wch, _TRUNCATE);
?? ?2.从String^到string: ? ??
?? ? ? ? ??string s(wch);
?? ?3.从String^到CString: ?
?? ? ? ? ??String ^s = gcnew String(wch);