• C-C中的函数_splitpath说明


    相关资料:

    https://blog.csdn.net/weikangc/article/details/45744445 原作者出处

    引用头文件:
        <stdlib.h>
    函数原型如下:
        void _splitpath( const char *path, char *drive, char *dir, char *fname, char *ext);
    参数说明:
    1.待处理文件名路径,完整的路径例如:"c:windowsmyfile.txt",不完整:"myfile.txt"。
    2.驱动器盘符(drive)
    3.中间的路径(dir)
    4.文件名(fname)
    5.后缀名(ext)
    6.不想获取的可以直接填入NULL进行忽略,比如我只想截取文件的后缀名,那么这个函数可以如下调用:_splitpath(path, NULL, NULL, NULL, ext);
    7.其中ext必须是已经分配了内存空间的字符串指针,否则会出错(c语言的基本特性,我就不赘述了)
    完整示例(Qt版,本人亲试):

     1 #include <stdlib.h>// 引入头文件
     2 
     3 MainWindow::MainWindow(QWidget *parent) // 函数使用
     4     : QMainWindow(parent)
     5     , ui(new Ui::MainWindow)
     6 {
     7     ui->setupUi(this);
     8 
     9     std::string sFilePath = "e:\a\b\1.jpg";
    10     char sDirve[_MAX_DRIVE];
    11     char sDir[_MAX_DIR];
    12     char sFName[_MAX_FNAME];
    13     char sFExt[_MAX_EXT];
    14     _splitpath(sFilePath.c_str(), sDirve, sDir, sFName, sFExt);
    15     qDebug() << QString::fromStdString(sFilePath);// "e:\a\b\1.jpg"
    16     qDebug() << QString::fromStdString(sDirve);// "e:"
    17     qDebug() << QString::fromStdString(sDir);// "\a\b\"
    18     qDebug() << QString::fromStdString(sFName);// "1"
    19     qDebug() << QString::fromStdString(sFExt);// ".jpg"
    20 }

    完整示例(C版,未测试):

     1 #include <stdlib.h> 
     2 #include <stdio.h> 
     3 void main( void ) 
     4 { 
     5     char path_buffer[_MAX_PATH]; 
     6     char drive[_MAX_DRIVE]; 
     7     char dir[_MAX_DIR]; 
     8     char fname[_MAX_FNAME]; 
     9     char ext[_MAX_EXT]; 
    10     _makepath( path_buffer, "c", "\sample\crt\", "makepath", "c" ); 
    11     printf( "Path created with _makepath: %s
    
    ", path_buffer ); 
    12     _splitpath( path_buffer, drive, dir, fname, ext ); 
    13     printf( "Path extracted with _splitpath:
    " ); 
    14     printf( " Drive: %s
    ", drive ); 
    15     printf( " Dir: %s
    ", dir ); 
    16     printf( " Filename: %s
    ", fname ); 
    17     printf( " Ext: %s
    ", ext ); 
    18 } 
    19  
    20 OutPut: 
    21 Path created with _makepath: c:samplecrtmakepath.c 
    22 Path extracted with _splitpath: 
    23 Drive: c: 
    24 Dir: samplecrt 
    25 Filename: makepath 
    26 Ext: .c


    作者:疯狂Delphi
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.

    欢迎关注我,一起进步!扫描下方二维码即可加我

  • 相关阅读:
    ALhoViMwaR
    lenovo anti-virus powered by Intel security保护已过期
    python Module turtle has no circle member解决办法
    为什么电脑打出来都是繁体字
    python 学习笔记(七)(函数)
    python 写汉诺塔移动过程
    python 学习笔记(六)(dict,set)
    Vue CLI组件循环引用踩坑,组件未注册问题
    vue package.json脚本赋值变量
    linux服务器安装node环境及项目部署
  • 原文地址:https://www.cnblogs.com/FKdelphi/p/14442596.html
Copyright © 2020-2023  润新知