如果在我的应用程序上单击了一个复选框,则将重命名具有相同预点名称的指定文件夹中的所有文件(例如,TESTCRC32.xxx)。如果文件名是别的,(例如,Pic.jpg),则不会重命名该文件。
我该如何解决这个问题?我在想一个for循环...
void SecondDlg::OnTickBox()
{
// Add code here...
CString oldFile = myPath.Left(myPath.ReverseFind(_T('.')));
rename(oldFile, newFile);
}
答案 0 :(得分:1)
你做错了。举个例子,假设myPath
有路径"C:\abc\xyz.bmp"
在这一行之后:
CString oldFile = myPath.Left(myPath.ReverseFind(_T('.')));
现在:
oldFile = "C:\\abc\\xyz"; // extension removed
最后你打电话给rename
rename(oldFile, newFile); //you can use myPath instead of oldFile
作为oldFile = "C:\abc\xyz";
并且它不是正确的路径,因此它不会重命名该文件
你应该传递文件的完整路径(C:\ abc \ xyz.bmp)。