VC替换狂战名

本文介绍了一个使用C++实现的函数,用于将文件名的扩展名从一种类型转换为另一种类型,通过解析文件路径并修改扩展部分来完成转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 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 函数仅仅是对文件名字符串的替换, 和磁盘上的文件没有关系.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值