重命名具有相同名称但不同扩展名的文件

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).