1

我正在尝试将 wstring 转换为 const wchar*,但 null 终止未按预期工作:

索引 4

索引 5

代码

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

4

1 回答 1

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
于 2014-05-14T22:04:11.600 回答