找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 3040|回复: 0

【C】拆开路径得到盘符、文件夹、文件名和扩展名的方法

[复制链接]

1110

主题

1651

回帖

7万

积分

用户组: 管理员

一只技术宅

UID
1
精华
244
威望
743 点
宅币
24219 个
贡献
46222 次
宅之契约
0 份
在线时间
2296 小时
注册时间
2014-1-26
发表于 2014-8-20 16:47:25 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有账号?立即注册→加入我们

×
当你拿到一个文件路径的字符串(比如这种:“C:\Windows\notepad.exe”),然后你应该如何处理才能快速获取到它的盘符、文件夹、文件名和文件扩展名呢?(比如你分别获取到“C:”、“\Windows\”、“notepad”、“exe”四个字符串)
当然是使用_splitpath函数了。
_splitpath函数原型:
  1. void _splitpath(const char*path,char*drive,char*dir,char*fname,char*ext);
复制代码
以及对应的安全版的版本_splitpath_s的原型:
  1. errno_t _splitpath_s(const char*path,char*drive,size_t drivesize,char*dir,size_t dirsize,char*fname,size_t fnamesize,char*ext,size_t extsize);
复制代码
这个函数属于C语言运行库,使用前需要包含stdlib.h。
除了这个函数,还有一个反过来的函数(根据你给定的盘符、文件夹、文件名、文件扩展名制造一个文件路径出来),那就是_makepath。它的原型如下:
  1. void _makepath(char*path,const char*drive,const char*dir,const char*fname,const char*ext);
复制代码
以及对应的安全版的版本_makepath_s的原型:
  1. void _makepath_s(char*path,size_t SizeInWords,const char*drive,const char*dir,const char*fname,const char*ext);
复制代码

本帖被以下淘专辑推荐:

回复

使用道具 举报

QQ|Archiver|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图

GMT+8, 2024-4-18 10:14 , Processed in 0.042793 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表