Ich muss eine Zeichenfolge formatieren, um doppelte nullterminierte Zeichenfolge zu sein, um SHFileOperation zu verwenden.Doppelte nullterminierte Zeichenfolge
Interessante daran ist, i eine der folgenden Arbeits gefunden, aber nicht beides:
// Example 1
CString szDir(_T("D:\\Test"));
szDir = szDir + _T('\0') + _T('\0');
// Example 2
CString szDir(_T("D:\\Test"));
szDir = szDir + _T("\0\0");
//Delete folder
SHFILEOPSTRUCT fileop;
fileop.hwnd = NULL; // no status display
fileop.wFunc = FO_DELETE; // delete operation
fileop.pFrom = szDir; // source file name as double null terminated string
fileop.pTo = NULL; // no destination needed
fileop.fFlags = FOF_NOCONFIRMATION|FOF_SILENT; // do not prompt the user
fileop.fAnyOperationsAborted = FALSE;
fileop.lpszProgressTitle = NULL;
fileop.hNameMappings = NULL;
int ret = SHFileOperation(&fileop);
Hat jemand Idee dazu hat?
Gibt es eine andere Möglichkeit, doppelt terminierte Strings anzuhängen?
welche funktioniert? – zsalzbank
Keiner von denen * sollte * funktionieren. Es ist nur ein Zufall, wenn einer von ihnen es tut. –
@Greg: sollte das zweite Beispiel nicht funktionieren, da CString den folgenden 'friend CString-Operator hat + (const CString & string, LPCTSTR lpsz);'? (bei Arbeit meine ich die + Operation, nicht 'CString' nach' SHFileOperation') –