![]() |
将托管字符串System.String转换为char*或w_char*的函数PtrToStringChars
将托管字符串System.String转换为char*或w_char*的函数PtrToStringChars
范例: // convert_string_to_wchar.cpp // compile with: /clr #include < stdio.h > #include < stdlib.h > #include < vcclr.h > using namespace System; int main() { String ^str = "Hello"; // Pin memory so GC can't move it while native function is called pin_ptr<const wchar_t> wch = PtrToStringChars(str); printf_s("%S\n", wch); // Conversion to char* : // Can just convert wchar_t* to char* using one of the // conversion functions such as: // WideCharToMultiByte() // wcstombs_s() // ... etc size_t convertedChars = 0; size_t sizeInBytes = ((str->Length + 1) * 2); errno_t err = 0; char *ch = (char *)malloc(sizeInBytes); err = wcstombs_s(&convertedChars, ch, sizeInBytes, wch, sizeInBytes); if (err != 0) printf_s("wcstombs_s failed!\n"); printf_s("%s\n", ch); } |
所有的时间均为北京时间。 现在的时间是 08:02 PM. |