我正在尝试将wstring转换为const wchar *,但是null终止不能按我期望的那样工作:



有什么办法可以将wstring转换为const wchar *吗?

最佳答案

works[5]doesntWork[5]都导致未定义的行为。缓冲区仅在[4]之前有效,而[5]在此范围之外。

const wchar_t *works = L"Test";

works[0] -> L'T'
works[1] -> L'e'
works[2] -> L's'
works[3] -> L't'
works[4] -> L'\0'
works[5] -> undefined behavior, the program is broken if it ever tries to access this

关于c++ - 使用c_str()将wstring转换为const wchar *,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23665779/

10-10 14:01