使用c_str()将wstring转换为const wchar *

时间:2014-05-14 21:51:05

标签: c++ const wstring wchar

我试图将wstring转换为const wchar *,但是null终止并没有像我期望的那样工作:

index 4

index 5

code

有没有办法以我尝试的方式将wstring转换为const wchar *?

1 个答案:

答案 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