Necesito formatear una cadena para que sea una cadena terminada en doble nulo para usar SHFileOperation.Cadena terminada en cero doble
parte interesante es que encontré uno de estos procedimientos de trabajo, pero no tanto:
// 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);
¿Alguien tiene idea sobre esto?
¿Hay alguna otra forma de anexar una cuerda con terminación doble?
cuál funciona? – zsalzbank
Ninguno de esos * debe * funcionar. Es solo un accidente si uno de ellos lo hace. –
@Greg: ¿no debería funcionar el segundo ejemplo ya que CString tiene el siguiente 'amigo CString operator + (const CString & string, LPCTSTR lpsz);'? (por trabajo me refiero a la operación +, no pasando 'CString' a' SHFileOperation') –