C++ 设置和获取当前工作路径的实现代码

通常,你在服务程序中调用DLL,而DLL又会加载许多配置和文件,一般会出现DLL加载不到配置和文件,原因是你的服务程序被加载后,路径并不是你程序的所在目录,故DLL也不是,因此加载不了。解决办法,是在DLL的路径或服务程序中设计当前的工作路径。

主要函数为:SetCurrentDirectory;

设置当前工作路径实例如下:

#include <iostream>
#include <windows.h>
#include <string>
using namespace std;
int main()
{
 char buf[1000];
 int i=1000;
 GetCurrentDirectory(1000,buf); //得到当前工作路径
 cout<<buf<<endl;
 char strModule[256];
 GetModuleFileName(NULL,strModule, 256); //得到当前模块路径
 cout<<strModule<<endl;
 string a;
 a.assign(buf);
 cout<<a<<endl;
 a.append("//..//");   //设置为当前工作路径为当时的上一级
 //a=a+"..//";
 SetCurrentDirectory(a.c_str()); //设置
 GetCurrentDirectory(1000,buf);
 cout<<buf<<endl;
 return 0;
}

以上就是C++中获取当前工作路径的代码,希望大家以后多多支持我们。

(0)

相关推荐

  • C++ 设置和获取当前工作路径的实现代码

    通常,你在服务程序中调用DLL,而DLL又会加载许多配置和文件,一般会出现DLL加载不到配置和文件,原因是你的服务程序被加载后,路径并不是你程序的所在目录,故DLL也不是,因此加载不了.解决办法,是在DLL的路径或服务程序中设计当前的工作路径. 主要函数为:SetCurrentDirectory: 设置当前工作路径实例如下: #include <iostream> #include <windows.h> #include <string> using namespac

  • linux 下获取当前工作路径的实例

    获取工作路径这里介绍两种方法: 1.使用getcwd()函数. 头文件:#include <unistd.h> 定义函数:char * getcwd(char * buf, size_t size); 函数说明:getcwd()会将当前的工作目录绝对路径复制到参数buf 所指的内存空间,参数size 为buf 的空间大小 实例: void getPath() { char pPath[256] = {0}; getcwd(buf, 256); printf("filePath: %s

  • c语言获取当前工作路径的实现代码(windows/linux)

    Linux 函数名: getcwd 功 能: 取得当前的工作目录 用 法: char *getcwd(char *buf, size_t size); 函数说明: getcwd()会将当前的工作目录绝对路径复制到参数buf所指的内存空间,参数size为buf的空间大小.在调用此函数时,buf所指的内存空间要足够大,若工作目录绝对路径的字符串长度超过参数size大小,则回值NULL,errno的值则为ERANGE.倘若参数buf为NULL,getcwd()会依参数size的大小自动配置内存(使用m

  • linux C++ 获取文件绝对路径的实例代码

    提供ftp服务时需要获取文件绝对路径,这里记录一下. #include <stdlib.h> #include <stdio.h> #include <limits.h> int main(){ const char *file_name = "filename"; char abs_path_buff[PATH_MAX]; //获取文件路径, 填充到abs_path_buff //realpath函数返回: null表示获取失败; 否则返回指向ab

  • 获取网站跟路径的javascript代码(站点及虚拟目录)

    复制代码 代码如下: <script> function getRootPath(){ var strFullPath=window.document.location.href; var strPath=window.document.location.pathname; var pos=strFullPath.indexOf(strPath); var prePath=strFullPath.substring(0,pos); var postPath=strPath.substring(

  • Windows批处理更改当前工作路径的BAT

    获取文件夹下所有文件信息并保存到当前目录下test.txt中的cmd命令: dir /s /b *.* > test.txt 保存为test.bat文件,然后双击test.bat后就会在该文件夹目录下生产test.txt,里面会包含所有文件的路径信息. 打开任务计划程序中,创建新的基本任务,安装步骤创建并把启动程序设置成test.bat 右键点击该任务运行,看是否能成功运行test.bat 此处就出现问题了:显示该计划任务已经执行完成,但是你会发现在刚刚文件夹的路径下并没有生成test.txt这

  • Rstudio 修改工作路径(三种方法总结)

    1.使用setwd()函数 作用:起到临时更改路径的作用,只对当前的Rstudio窗口有效.一旦窗口关闭,又会回到默认路径下.getwd()函数是获取当前路径的函数. 2.global options设置(如图所示) 首先在tools菜单栏下,点击global options选项 然后在default working directory 中可以修改默认工作路径,点browse修改工作路径 最后保存,重新打开Rstudio后工作路径就变成已修改的路径了. 3.通过启动代码设置 首先在Rstudio

  • IOS获取各种文件目录路径的方法

    iphone沙箱模型有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. documents,tmp,app,Library. (NSHomeDirectory()), 手动保存的文件在documents文件里 Nsuserdefaults保存的文件在tmp文件夹里 1.Documents 目录:您应该将所有de应用程序数据文件写入到这个目录下.这个目录用于存储用户数据或其它应该定期备份的信息. 2.AppName.app 目录:这是应用程序的程序包目录,包

  • Yii2中设置与获取别名的函数(setAlias和getAlias)用法分析

    本文实例讲述了Yii2中设置与获取别名的函数(setAlias和getAlias)用法.分享给大家供大家参考,具体如下: 首先说说什么是别名. 在Yii中有很多的路径,在开发的过程当前我们也会使用一些路径.一般来说都需要使用绝对路径,但绝对路径都很长. 所以,为了方便的使用路径,可以在Yi中i给每个路径起个名称,这个名称就是别名. 别名的格式: 别名必须以"@"字符开头,别名中还可以包含"/".如("@www"为根别名,"@www/te

  • Android获取SD卡路径及SDCard内存的方法

    本文实例讲述了Android获取SD卡路径及SDCard内存的方法.分享给大家供大家参考.具体分析如下: 昨天在研究拍照后突破的存储路径的问题,开始存储路径写死为: private String folder = "/sdcard/DCIM/Camera/"(SD卡上拍照程序的图片存储路径); 后来发现这样写虽然一般不会出错,但不是很好,因为不同相机,可能路径会出问题.较好的方法是通过Environment 来获取路径,最后给出一个例子,教你怎样获取SDCard 的内存,显示出来告诉用

随机推荐