重命名具有相同名称但不同扩展名的文件
Rename files with same name but differing extensions
如果在我的应用程序上单击复选框,指定文件夹中具有相同前点名称(例如 TESTCRC32.xxx)的所有文件都将被重新命名。如果文件名是其他名称(例如 Pic.jpg),则不会重命名该文件。
我该怎么做?我在想一个for循环...
void SecondDlg::OnTickBox()
{
// Add code here...
CString oldFile = myPath.Left(myPath.ReverseFind(_T('.')));
rename(oldFile, newFile);
}
你做错了。让我们举个例子,假设 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).
如果在我的应用程序上单击复选框,指定文件夹中具有相同前点名称(例如 TESTCRC32.xxx)的所有文件都将被重新命名。如果文件名是其他名称(例如 Pic.jpg),则不会重命名该文件。
我该怎么做?我在想一个for循环...
void SecondDlg::OnTickBox()
{
// Add code here...
CString oldFile = myPath.Left(myPath.ReverseFind(_T('.')));
rename(oldFile, newFile);
}
你做错了。让我们举个例子,假设 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).