我有一个无扩展名的文件,我想为.avi
它添加一个扩展名。所以我通过openfile对话框选择文件后调用这个函数(我想在重命名后打开文件):
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
正确的字符串(旧的没有扩展名,新的有它)。