C++ 設(shè)置和獲取當(dāng)前工作路徑的實(shí)現(xiàn)代碼
通常,你在服務(wù)程序中調(diào)用DLL,而DLL又會(huì)加載許多配置和文件,一般會(huì)出現(xiàn)DLL加載不到配置和文件,原因是你的服務(wù)程序被加載后,路徑并不是你程序的所在目錄,故DLL也不是,因此加載不了。解決辦法,是在DLL的路徑或服務(wù)程序中設(shè)計(jì)當(dāng)前的工作路徑。
主要函數(shù)為:SetCurrentDirectory;
設(shè)置當(dāng)前工作路徑實(shí)例如下:
#include <iostream>
#include <windows.h>
#include <string>
using namespace std;
int main()
{
char buf[1000];
int i=1000;
GetCurrentDirectory(1000,buf); //得到當(dāng)前工作路徑
cout<<buf<<endl;
char strModule[256];
GetModuleFileName(NULL,strModule, 256); //得到當(dāng)前模塊路徑
cout<<strModule<<endl;
string a;
a.assign(buf);
cout<<a<<endl;
a.append("http://..//"); //設(shè)置為當(dāng)前工作路徑為當(dāng)時(shí)的上一級(jí)
//a=a+"..//";
SetCurrentDirectory(a.c_str()); //設(shè)置
GetCurrentDirectory(1000,buf);
cout<<buf<<endl;
return 0;
}
以上就是C++中獲取當(dāng)前工作路徑的代碼,希望大家以后多多支持腳本之家。
相關(guān)文章
C語言實(shí)現(xiàn)txt數(shù)據(jù)讀入內(nèi)存/CPU緩存實(shí)例詳解
這篇文章主要介紹了C語言實(shí)現(xiàn)txt數(shù)據(jù)讀入內(nèi)存/CPU緩存實(shí)例詳解的相關(guān)資料,這里對(duì)實(shí)現(xiàn)該函數(shù)進(jìn)行了代碼實(shí)現(xiàn),需要的朋友可以參考下2017-01-01
C++實(shí)現(xiàn)一個(gè)簡(jiǎn)易版的事件(Event)的示例代碼
之前在?windows系統(tǒng)中開發(fā)應(yīng)用時(shí),?遇到需要進(jìn)行線程同步的時(shí)候幾乎都是使用的事件內(nèi)核對(duì)象?Event。本文為大家整理了C++實(shí)現(xiàn)一個(gè)簡(jiǎn)易版的事件(Event)的相關(guān)資料,需要的可以參考一下2022-11-11
C/C++ int數(shù)與多枚舉值互轉(zhuǎn)的實(shí)現(xiàn)
在C/C++在C/C++的開發(fā)中經(jīng)常會(huì)遇到各種數(shù)據(jù)類型互轉(zhuǎn)的情況,本文主要介紹了C/C++ int數(shù)與多枚舉值互轉(zhuǎn)的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2021-08-08

