zoukankan      html  css  js  c++  java
  • VC++6.0相对路径无效的解决办法

    我们在开发程序时,常常需要操作相关的文件。操作文件一般有两种方法:绝对路径相对路径。绝对路径是从盘符开始的,相对路径则是相对于当前目录。

    绝对路径很简单,一般也不会出错,但是在实际开发过程中要慎用绝对路径,因为这样会导致程序的可移植性较差。但是在我个人却遇到了好几次相对路径不起作用的情况,只有换成绝对路径才生效。我个人调试了好久才找到了原因。

    相对路径不起作用只有两种情况:

    1. 相对路径的写法出错了。
    2. 系统默认的当前目录被更改了。

    关于第二种情况可能会有人产生疑问,系统默认的当前目录还能更改?

    导致系统默认的当前目录被更改的原因很多,例如在Windows操作系统上,当用文件对话框成功打开一个文件后,当前目录就被修改为被打开的文件所在目录。(VC++6.0已经验证,其他版本未知)我个人感觉这是一个bug,希望微软能够解决。还有环境变量也有可能会导致系统默认的当前目录被更改。

    Windows系统可以利用GetCurrentDirectory()这个函数可以获得当前目录。

    实际上有一个折中的办法可以解决上述办法,通过函数获取系统默认的当前目录,然后再加上相对路径,这种写法是非常保险的。

  • 相关阅读:
    feign.RetryableException: Read timed out
    字段重复性校验
    时间的问题总结
    Maven使用mvn命令生成一个spring mvc的web项目
    Mac OS安装brew
    Docker部署Web应用到Tomcat
    Docker安装使用Oracle 11g
    Python 修改AD密码
    Let's Encrypt 证书 wget 报错
    dedecms获取指定栏目下的文章数量
  • 原文地址:https://www.cnblogs.com/mlgjb/p/8940560.html
Copyright © 2011-2022 走看看