У меня есть файл без расширения, и я хочу добавить к нему расширение .avi
.Поэтому я вызываю эту функцию после выбора файла через диалог открытия файла (я хочу, чтобы файл открывался после переименования):
int RenameVidAddExt(HWND hWnd, char oldname[MAX_PATH])
{
int filenamesize=0, n=0;
char extension [] = ".avi";
char* newname;
for (n=0 ; oldname[n]!=NULL ; n++)
{
filenamesize++;
}
newname = new char[filenamesize+sizeof(extension)];
newname = oldname;
strcat (newname, extension);
//SetDlgItemTextA(hWnd, IDC_EDIT1, szFile); //test print of filenameof selected file
//SetDlgItemTextA(hWnd, IDC_EDIT2, newname); //test print of newname
rename(oldname,newname);
return 0;
}
Имя файла просто не меняется, и я не знаю почему.Пробные отпечатки показывают, что и oldname
, и newname
содержат правильные строки (старые без расширения и новые с ним).