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語(yǔ)言實(shí)現(xiàn)txt數(shù)據(jù)讀入內(nèi)存/CPU緩存實(shí)例詳解
這篇文章主要介紹了C語(yǔ)言實(shí)現(xiàn)txt數(shù)據(jù)讀入內(nèi)存/CPU緩存實(shí)例詳解的相關(guān)資料,這里對(duì)實(shí)現(xiàn)該函數(shù)進(jìn)行了代碼實(shí)現(xiàn),需要的朋友可以參考下2017-01-01C 語(yǔ)言基礎(chǔ)教程(我的C之旅開始了)[四]
C 語(yǔ)言基礎(chǔ)教程(我的C之旅開始了)[四]...2007-02-02C++實(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-11C/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