我试图将wstring转换为const wchar *,但是null终止并没有像我期望的那样工作:
有没有办法以我尝试的方式将wstring转换为const wchar *?
答案 0 :(得分:3)
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