VC替換狂戰名

 

 http://hi.baidu.com/jxq61/blog/index/11

實際應用中我們經常需要 把一個文件名 換成 另一種擴展名.

#include "stdafx.h"

#include "stdlib.h"

typedef char TFILENAME [_MAX_PATH];
int exchageFileExt(
                   TFILENAME fileName ,                 //文件名
                   char *    newExt,                   //要替換的文件擴展名
                   TFILENAME newfilename               //替換後的新文件名
        
                  )
{
                char path [_MAX_PATH];
                char drive[_MAX_DRIVE];
                char dir[_MAX_DIR];
               char fname[_MAX_FNAME];
                   char ext[_MAX_EXT];
                 errno_t    err;
               err = _splitpath_s( fileName, drive,

                        _MAX_DRIVE, dir, _MAX_DIR, fname,
                       _MAX_FNAME, ext, _MAX_EXT );
         if (! err)
         {
                  err = _makepath_s(
                     newfilename,
                _MAX_PATH,
                     drive, dir, fname, newExt );
          }
        return err;
}

 

int _tmain(int argc, _TCHAR* argv[])
{  
           TFILENAME fname1 ;
            TFILENAME fname2 ;
           strcpy( fname1,"c://123//456.789.bin");

          exchageFileExt( fname1, ".txt",fname2 );
          printf("源文件名    = /n %s/n",fname1);
          printf("替換後文件名= /n %s/n",fname2);
          getchar();
          return 0;
}

 

 

---- 運行結果 --------

源文件名    =
c:/123/456.789.bin
替換後文件名=
c:/123/456.789.txt

 

說明:

     exchageFileExt 函數僅僅是對文件名字符串的替換, 和磁盤上的文件沒有關係.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章