Dimma Опубликовано 11 мая, 2009 Жалоба Поделиться Опубликовано 11 мая, 2009 здравствуйте! есть вопрос - пытаюсь написать код для переименования всех файлов в заданной папке с помощью функций SHFileOperation и FindFirstFile - пишу код - проект компилируется (vs-2005 prof), но при попытке выполнить переименование - выскакивает мессадж параметр задан неверно. вот код: void CPereimDlg::OnBnClickedButton3() { WIN32_FIND_DATA winFileData; SHFILEOPSTRUCT fo; ZeroMemory(&fo, sizeof(fo)); HANDLE hFile; int nLen = szDisp.GetLength(); LPTSTR lpszBuf = szDisp.GetBuffer(nLen); szDisp.ReleaseBuffer(); if (GetDlgItemText(IDC_EDIT1, szDisp)) { lstrcat(lpszBuf,"\\*.txt"); hFile = FindFirstFile(lpszBuf,&winFileData); if (hFile!=INVALID_HANDLE_VALUE) { do { char chFrom [256], chTo [256]; strcpy (chFrom, winFileData.cFileName); strcpy (chTo, newName); chFrom[strlen(chFrom)] = 0; chFrom[strlen(chFrom) + 1] = 0; chTo[strlen(chTo)] = 0; chTo[strlen(chTo) + 1] = 0; fo.wFunc = FO_RENAME; fo.pFrom = chFrom ; fo.pTo = chTo; fo.fFlags = FOF_RENAMEONCOLLISION; } while (FindNextFile(hFile,&winFileData)!=0); FindClose(hFile); } int nRes = SHFileOperation(&fo); } return; } это последний вариант - до этого пробовал и без strcpy -результат тот же самый- компилируется но не исполняется. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.