Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Переименование файлов в папке


Рекомендуемые сообщения

здравствуйте! есть вопрос - пытаюсь написать код для переименования всех файлов в заданной папке с помощью функций 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 -результат тот же самый- компилируется но не исполняется.

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...