关于文件路径字符分割与组合

_splitpath

需要的头文件是:<stdlib.h>
函数原型如下:

void _splitpath( const char *path, char *drive, char *dir, char *fname, char *ext);

其中包含5个参数,第一个是待处理的完整的文件名路径,例如:“c:\windows\myfile.txt”,当然这个文件名也可以不是那么完整,即使是"myfile.txt"这样的字符串也可以成功处理。
后面四个参数分别代表四个需要从原始文件路径中截取的字符串,有驱动器盘符(drive),中间的路径(dir),文件名(fname),和后缀名(ext)。
只要在这四个参数中传入对应的字符串指针,函数返回时即可获取对应截取的字符串,不想获取的可以直接填入NULL进行忽略,比如我只想截取文件的后缀名,那么这个函数可以如下调用:
_splitpath(path, NULL, NULL, NULL, ext);

_makepath

函数原型如下:

void _makepath( const char *path, char *drive, char *dir, char *fname, char *ext);

用法与_splitpath类似,作用相反。

 
   char path_buffer[_MAX_PATH];
   char drive[_MAX_DRIVE];
   char dir[_MAX_DIR];
   char fname[_MAX_FNAME];
   char ext[_MAX_EXT];  

   _makepath( path_buffer, "c", "\\sample\\crt\\", "makepath", "c" );
   printf( "Path created with _makepath: %s\n\n", path_buffer );
   _splitpath( path_buffer, drive, dir, fname, ext );  

原文地址:https://www.cnblogs.com/ice-arrow/p/11950004.html

时间: 2024-10-11 19:36:28

关于文件路径字符分割与组合的相关文章

Java文件夹操作,判断多级路径是否存在,不存在就创建(包括windows和linux下的路径字符分析)

兼容windows和linux. 分析: 在windows下路径有以下表示方式: (标准)D:\test\1.txt (不标准,参考linux)D:/test/1.txt 然后在java中,尤其使用File对象在操作windows的路径时,非常的不好操作,因为不知道要用多少个斜杠“\”来表示. 斜杠“\”为转义字符(参考:http://www.cnblogs.com/EasonJim/p/6561576.html). 而java的File对象上无论是windows还是linux,输入的路径不管标

如何指定GCC的默认头文件路径

如何指定GCC的默认头文件路径 网上偶搜得之,以之为宝:)原地址:http://blog.chinaunix.net/u/28781/showart.php?id=401631=============================================================================== 在交叉编译的时候我们需要用到其他的库,在config时候可以通过“-l”来指定目录,但是每次都需要设置的话难免有些麻烦,找到一个简单的方法.看下文的红色部分. 有大

【std::regex】C++文件路径正则表达式

今天代码中遇到使用正则表达式匹配一个文件路径的问题,需要验证传入的文件路径是否合法,学习了简单的正则表达式的写法后,简单写了如下代码,在网上找了一些在线测试正则表达式的网站,测试可以通过. std::regex match("^[a-zA-Z]:(\\[a-zA-Z0-9]+)+$"); std::string path("D:\\test"); if (!std::regex_match(path, match)) { cout << "!!

Go path/filepath文件路径操作

本文:https://books.studygolang.com/The-Golang-Standard-Library-by-Example/chapter06/06.2.html path:https://www.php.cn/manual/view/35279.html filepath:https://www.php.cn/manual/view/35280.html path/filepath — 兼容操作系统的文件路径操作 path/filepath 包涉及到路径操作时,路径分隔符使

python+opencv实现机器视觉基础技术(边缘提取,图像滤波,边缘检测算子,投影,车牌字符分割)

目录 一:边缘提取 1.对图像进行阈值分割并反色 2.边缘提取 二:图像滤波 1.读取原图 2.均值滤波 3.中值滤波 4.高斯滤波 5.高斯边缘检测 三:边缘检测算子 1.显示原图 2.对图像进行反色 3.对图像用sobel方法进行边缘检测 4.对图像用robert方法进行边缘检测 四:投影 1.显示原图 2.垂直方向投影 3.水平方向投影 五:车牌字符分割 1.读取原图 2.灰度转换 3.反色 4.阈值分割 5.投影 6.字符识别匹配分割 ??机器视觉是人工智能正在快速发展的一个分支.简单说

C语言文件路径中的”/“和“\“

在不同系统的情况系   windows下是\,linux和unix下是/  但在win中没有本质区别. 但是由于   \   也是转义字符的起始字符,  所以, 路径中的   \   通常需要使用   \\ 如果是   /   就不需要使用转义了 如C中文件操作, c:\\kkk\\dd.txt  双反斜杠! c:/kkk/dd.txt一样 “\”一般是表示本地目录的,比如你电脑里面的C:\windows\.. “/”主要表示远程电脑或者网络上的,比如你这个贴子的地址:http://zhidao

写一个函数,尽可能高效的,从一个标准 url 里取出文件的扩展名?pathinfo文件路径&amp; parse_url解析url &amp; basename路径中文件名

例如: http://www.sina.com.cn/abc/de/fg.php?id=1 需要取出 php 或 .php 方案1 <?php function getExt($url){ $arr = parse_url($url); $file = basename($arr['path']); $ext = explode(".",$file); return $ext[1]; } echo getExt("http://www.sina.com.cn/abc/d

Excel公式 提取文件路径后缀

我们在代码中获取一个文件路径的后缀,是一个很简单的事. 如C#中,可以通过new FileInfo(filePath).Extension,或者Path.GetExtension(filePath)获取. 而Excel的大数据中,直接批量获取同行单元格内容中文件路径的后缀,该如何获取? 如上,想获取文件后缀,然后从中分析出文件的所属开发语言. 公式如下: 1.获取后缀 =RIGHT(D2,LEN(D2)-FIND("@",SUBSTITUTE(D2,".",&quo

php glob()函数实现目录文件遍历与寻找与模式匹配的文件路径

采用PHP函数glob实现寻找与模式匹配的文件路径,主要讨论glob()函数的作用和用法,利用glob函数读取目录比其它的要快N倍,因为glob函数是内置函数处理起来自然要快. 一,函数原型 array glob ( string pattern [, int flags] ) 注意:glob()函数获取的是一个数组,其返回一个包含有匹配文件/目录的数组.如果出错返回FALSE 二,版本兼容 PHP 4 >= 4.3.0, PHP 5 三,函数的基础用法与实例 1,匹配目录下.txt后缀的文件