1. 程式人生 > >c++修改檔名字尾 檔案路徑分解與批處理檔案遍歷

c++修改檔名字尾 檔案路徑分解與批處理檔案遍歷

 #include <cstdlib>
#include <iostream>
#include <dirent.h>
#include <fcntl.h>
using namespace std;

int main(int argc, char *argv[])
{
    DIR *dirp=NULL;
    struct dirent *dp = NULL;
    char doing_file[1024];
    dirp = opendir("F:/Dev-Cpp/changename");
    FILE  *doing_fd;
    if(dirp == NULL)
  {
   printf("開啟檔案失敗!nn");
   system("PAUSE");
            return EXIT_SUCCESS;
  }
    while( (dp = readdir(dirp)) != NULL )
  {
  // printf("..readdir:%sn",dp->d_name);
      sprintf(doing_file,"%s",dp->d_name);
      string filename_old(doing_file); //改名前的檔名
      string filename_new(doing_file); //改名後的檔案
      string::size_type point = filename_new.rfind("bmp");
      if(point != string::npos)
      {
                filename_new.replace(point,3,"jpg");
                if(rename(filename_old.c_str(),filename_new.c_str()) == 0)
                {
                   printf("改名成功完成nn");                                                 
                }
                else    
                perror("rename");