如何在宽字符数组的末尾附加一个零字符,以制作这种奇怪的 PCZZWSTR winapi 数据类型

how to append a zero character at the end of wide char array to make this strange PCZZWSTR winapi data type?

本文关键字:字符 winapi 数据类型 PCZZWSTR 一个 数组      更新时间:2023-10-16

我需要它来使用SHFileOperation函数和SHFILEOPSTRUCT结构将文件移动到回收站。这种方式安全吗?(我从宽字符字符串对象开始。

wstring wstr = L"my test"
wstr += L''
wchar_t* = wstr.c_str();

由于我在字符串对象中添加了零并转换为 c 字符串添加了另一个,它应该是有效的 PCZZWSTR...但。。。如果沿途有一些"聪明"的代码感觉到零已经在末尾?

是的,您展示的内容将起作用。 您将在 wstring 数据的末尾添加一个显式 null 字符,然后c_str()将返回一个由第二个 null 终止符终止的指针,从而满足SHFileOperation()要求。