当前位置:  编程技术>c/c++/嵌入式

基于Windows API分解路径问题的详解

    来源: 互联网  发布时间:2014-10-14

    本文导语:  在很多代码中看到,由于需要获取一个路径字符串中的文件名或者扩展名,很多程序员都用了c库中的字符串查找函数来获取。这样子写得代码很多,也麻烦。其实在VC中,可以用更好的方法来获取。没有什么特别多说明,代码...

在很多代码中看到,由于需要获取一个路径字符串中的文件名或者扩展名,很多程序员都用了c库中的字符串查找函数来获取。这样子写得代码很多,也麻烦。
其实在VC中,可以用更好的方法来获取。没有什么特别多说明,代码如下:
代码如下:

    LPTSTR szfileName = new TCHAR[MAX_PATH];

    GetModuleFileName(NULL, szfileName , MAX_PATH);

    // 获取盘符、文件名、扩展名等信息
    wchar_t drive[_MAX_DRIVE];
    wchar_t dir[_MAX_DIR];
    wchar_t fname[_MAX_FNAME];
    wchar_t ext[_MAX_EXT];
    errno_t err;
    err = ::_wsplitpath_s(szFileName, drive, _MAX_DRIVE, dir, _MAX_DIR,
        fname, _MAX_FNAME, ext, _MAX_EXT);
    // 只获取路径
    PathRemoveFileSpec(szFileName);

注意:_wsplitpath_s函数不会改变szFileName中的内容,但是PathRemoveFileSpec却会改变。
头文件:_wsplitpath_s() 在stdlib.h中。
PathRemoveFileSpec()函数在shlwapi.h中。

    
 
 

您可能感兴趣的文章:

  • 我已经下载了Samba-latest.tar.gz在别一台装windows98的机上,如何将这个5M的东西分解成5份,好让我拷到另一台只装有Linux的机子上啊!
  • Windows下Docker应用部署相关问题详解
  • linux加入windows域 是什么意思?求详解,加入后的效果是怎么样的
  • 深入Windows下的回车是回车换行(rn)还是换行回车(nr)的详解
  • windows环境中mysql忘记root密码的解决方法详解
  • Windows消息传递机制详解
  • Windows server 2008搭建php运行环境图文详解(php5.3)
  • Windows下获取Android 源码方法的详解
  • windows命令行中java和javac、javap使用详解(java编译命令)
  • 基于linux与windows平台下 如何下载android sdk源代码的方法详解
  • Linux加入windows ad域步骤详解(winbindsamba方案)
  • Windows的钩子机制详解
  • windows2003 DNS服务器配置(图文详解)
  • Windows和Linux中php代码调试工具Xdebug的安装与配置详解
  • MySQL安装详解图文版(V5.5 For Windows)
  • 深入详解C编写Windows服务程序的五个步骤
  • win7/Windows7系统下载地址搜集整理 iis7站长之家
  • 基于Windows C++ 应用程序通用日志组件的使用详解
  • 深入HRESULT与Windows Error Codes的区别详解
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux在哪个配置文件里设置常用路径,象windows的%winpath%那样
  • windows与linux 路径正则写法
  • 怎样在redhat9.0上显示windows文件系统下面的中文路径
  • Linix下的Tomcat,为什么我的Applet找不到?在Windows环境下运行正常的,是我的路径问题,还是Tomcat 的设置问题?
  • 在solaris下如何获得应用程序路径?类似于windows下的GetModuleFileName函数的功能。
  • windows的文件系统机制引发的PHP路径爆破问题分析
  • java命名空间java.awt.event类keyevent的类成员方法: vk_windows定义及介绍
  • 怎么在Linux下改windows系统文件啊,我把windows的BOOT.INI改了,windows启动不了
  • WinDows8最新版文件夹加密
  • x-windows如何安装在linux(rdehat9)上面呢,是不是x-windows也分windows和linux版本的吗?
  • 修改Windows硬盘分区名称
  • linux和windows串口问题!?linux向windows端发送,第一次write正常,继续write,windows接收到的就变成乱码了,这是什么原因??????
  • windows10玩游戏怎么样?唯一支持DirectX 12的windows
  • 装了Linux和Windows,怎样默认进入Windows
  • windows/windows 7/windows 8 下打开查看、修改及保存超大(GB级)文本文件及其它类型文件的工具-PilotEdit
  • Linux与windows共存时,如何将Windows设置为默认启动系统?
  • windows下tinyxml.dll下载安装使用(c++解析XML库)
  • 怎样是编好的java application在windows上像windows应用程序一样直接运行
  • Docker宣布支持Windows 10和Azure Windows Server
  • windows 和linux双系统,重装windows后,无法启动linux?
  • win7/Windows7系统下载地址搜集整理
  • 如何将linux的一台机器加入windows 2000的域?并且通过一windows的机器上网?
  • Windows7自带防火墙设置:启动,关闭及高级设置
  • 为什么在安装了WINDOWS和LINUX的电脑上,重装WINDOWS会破坏MBR?
  • IE11设置IE兼容性视图及提升Windows 8.1中IE11兼容性的相关设置
  • Linux + Windows2000 双启动,Windows2000起不来了,说是文件被破坏,进来看看……
  • Windows优化大师最新版 V7.99 Build 12.604发布
  • Linux和Windows2000双系统(为什么Windows2000中打开我的电脑非常慢?)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3