我正在尝试将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/