Làm cách nào để chuyển đổi 'wchar_t
*' thành 'const char *
'?Cách chuyển đổi 'wchar_t *' thành 'const char *'
sử dụng C++ MFC VS2010.
Cảm ơn bạn.
Làm cách nào để chuyển đổi 'wchar_t
*' thành 'const char *
'?Cách chuyển đổi 'wchar_t *' thành 'const char *'
sử dụng C++ MFC VS2010.
Cảm ơn bạn.
Tra cứu chức năng của wcstombs trên MSDN.
Như câu hỏi là về MFC, tôi xin đề nghị như sau:
CStringA a = "Test";
CStringW w = L"Test";
a = CStringA(w);
w = CStringW(a);
Tôi thường cần chuyển đổi sau:
CString t = _T("Test"); // depends on TCHAR type
a = CStringA(t); // does not depend on TCHAR type
w = CStringW(t);
CStringW và CStringA có nhà khai thác LPCWSTR và LPCSTR respectivelly.
Nếu đó là MFC, bạn có thực sự có CString không? Tôi là một vài phiên bản lỗi thời, nhưng họ đã sử dụng toán tử cast cho LPCSTR trên các kiểu CString sẽ thực hiện chuyển đổi cho bạn. Bạn thậm chí có thể chỉ cần xây dựng một CStringA từ chuỗi rộng và có nó chuyển đổi nó cho bạn. – Rup
Câu trả lời kỹ thuật cho câu hỏi này hiếm khi hữu ích trong sự cô lập. _Tại sao bạn cần phải làm điều này? Ví dụ. nếu nó vượt qua một con trỏ thông qua một giao diện gọi lại, một diễn viên đơn giản là OK. – MSalters
Tôi cần phải điền vào cấu trúc với CHAR Name [256]; nhưng tôi đã có wchar_t * thay vì char *. – Cynede