_splitpath / _wsplitpath 将绝对路径分割为盘符、路径、文件名、扩展名。
今天分享下一个路径分割的API,可以将一个完整的绝对路径分割为:
盘符(包括冒号:)
路径(包含前面&后面的\,不含盘符&文件名)
文件名(不含扩展名)
扩展名(包含前面的.)
先不说话,直接上代码,代码功能:获取当前exe的完整路径,然后分割。
TCHAR szPath[MAX_PATH] = L"";
GetModuleFileName(NULL, szPath, MAX_PATH);
TCHAR drive[MAX_PATH] = L"";
TCHAR dir[MAX_PATH] = L"";
TCHAR fileName[MAX_PATH] = L"";
TCHAR ext[MAX_PATH] = L"";
_wsplitpath(szPath, drive, dir, fileName, ext);
打印结果如下:

当然Windows也提供了安全版本的API,分别是:_splitpath_s / _wsplitpath,用法类似。
_splitpath / _wsplitpath 将绝对路径分割为盘符、路径、文件名、扩展名。的更多相关文章
- [Java.File]如果写 File filesFolder = new File("/") ,在windows系统中,filesFolder 会去找哪个盘符? 答案:程序运行路径的根盘符.
首先这段代码在Unix/Linux系统上会去找根路径,但在Windows系统上会去找C:盘还是D:盘还是其它盘呢? 其实它会去找user.dir所在盘符的根目录,user.dir即用户的当前工作目录, ...
- EMC存储同时分配空间到两台服务器路径不一致-双机盘符不一致
以下方式将i盘盘符换成g盘,g盘盘符换成i emcpadm rename -s emcpoweri -t emcpowerj emcpadm rename -s emcpowerg -t emcpow ...
- C# 获得指定路径扩展名 , 去除扩展名
//指定扩展名的文件 private void button1_Click(object sender, EventArgs e) { textBox1.Text = ""; st ...
- java显示本地磁盘所有盘符,显示桌面路径
import java.io.File; import javax.swing.filechooser.FileSystemView; /** 显示本地磁盘根盘符,显示桌面路径 */ public c ...
- webpack安装包的时候 1程序目录不要在C盘 2路径不要有中文 3用cnpm
webpack安装包的时候 1程序目录不要在C盘 2路径不要有中文 3用cnpm
- docker改变默认存储路径到数据盘(自己实践)
一.首先将数据盘格式化分区并挂载(文章中提到的sdb(腾讯云)实践中是vdb(阿里云),文章中挂载在ssd目录下,实践中是挂载到data目录下的,后面安装docker部分以后是实践中的记录,上面数据盘 ...
- EMC存储同时分配空间到两台LINUX服务器路径不一致导致双机盘符大小不一致
操作系统:Centos linux6.6 当我们从EMC存储上划分空间同时分配给两台或者多台服务器上时,有的时候会出现在服务器上所生成的磁盘路径是不一致的,这样就会导致盘符名称不一致或者是盘符对应的大 ...
- JAVA中获取不同系统的换行符和获取系统路径路径分割符
简介 JAVA具有多平台特征,一次开发,多平台运行,主要依据JVM,但是不同的操作系统中换行符和分割符不同,故需要根据不同的操作系统去获取不同的符号. JAVA代码 @Test public void ...
- Windows Server 2003搭建FTP服务器 实现盘符之间切换
Serv-U中设置虚拟目录的方法 如果在E盘下有一个名为LoveHina的目录,在F盘下也有一个名为LoveHina的目录.那么,如何让使用同一个账号的用户可以同时访问这两个目录呢? 我们可以使用S ...
随机推荐
- poj 2513
http://poj.org/problem?id=2513 73348K 1438MS C++ 1614B解题思路:欧拉路的应用 要点 :1.判断连通性 ...
- MongoDB入门(1)--安装配置
第一步:下载安装 首先当然是找到官方网站http://www.mongodb.org/ 进入下载页面 可以看到,当前最新版本是2.4.5,我的电脑是64位的win7,所以要下载第一个(说明一下,第二个 ...
- TortoiseGit 自动登录
在环境变量里添加Home=%USERPROFILE% 在运行中打开%Home% 在打开目录中新建文件_netrc,并保存以下内容 machine git.oschina.net login usern ...
- Nginx日志增长过快详细分析
前言: Nginx日志里面Mobileweb_access.log增长特别大,一天上百兆,将近100W的访问记录,按照我们目前的规模,热点用户才500个左右,就算人人用手机app访问,怎么可能会有这么 ...
- cocos2dx进阶学习之屏幕适配
背景 在学习cocos2dx时,我们在main函数中发现一句代码, #include "main.h" #include "AppDelegate.h" #in ...
- gcc/g++ 如何支持c11 / c++11标准编译
如果用命令 g++ -g -Wall main.cpp 编译以下代码 : /* file : main.cpp */ #include <stdio.h> int main() { in ...
- ligh@local-host$ ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.3
ligh@local-host$ ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.3
- MySQL server has gone away 解决方法
应用程序(比如PHP)长时间的执行批量的MYSQL语句.执行一个SQL,但SQL语句过大或者语句中含有BLOB或者longblob字段.比如,图片数据的处理.都容易引起MySQL server has ...
- 一道TOPK问题
今天遇到一道TOP k的变形题,题目大概意思是有10W个随机整数,然后对这些数进行如下操作: 1.当能被3整除时,将此数替换为此数和其它数两两相加的数,包括数本身 2.当不能被3整除时,将此数替换为原 ...
- lib32gcc1 : Depends: gcc-4.9-base (= 4.9-20140406-0ubuntu1) but 4.9.3-0ubuntu4
运行:sudo apt-get update 然后重新安装lib32gcc1