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 -результат тот же самый- компилируется но не исполняется. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти