[C++] 如何取得一個檔案的所在完整路徑 |
尚未結案
|
jackyung
一般會員 發表:22 回覆:46 積分:13 註冊:2004-01-24 發送簡訊給我 |
以下函數可取得一個檔案的所在完整路徑,但
執行期間會暫時切換目前路徑,在多執行緒下
不夠安全,不知有沒有其他替代方法
// 注意!執行期間會暫時切換目前目錄 char *GetFullPath(const char *filename) { char *Ret; char *OldDir = new char[MAXPATH]; // 先保存目前目錄 getcwd(OldDir, MAXPATH); char *NewDir = new char[MAXPATH]; strcpy(NewDir,filename); strcat(NewDir,"\\."); chdir(NewDir); getcwd(NewDir, MAXPATH); Ret = NewDir; chdir(OldDir); delete [] OldDir; return Ret; } |
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
getcwd(NewDir, MAXPATH);
是取得目前工作目錄吧!為了在執行期間可能變換工作目錄,又有多執行序的問題,建議將目前目錄放在一個CLASS的私有變數中,利用EnterCriticalSection與 LeaveCriticalSection小心存取。請參閱站內連結點
http://delphi.ktop.com.tw/topic.php?topic_id=49583 -----------------------------------------------
Creation is the fundation of promotion.
|
jackyung
一般會員 發表:22 回覆:46 積分:13 註冊:2004-01-24 發送簡訊給我 |
|
blk5743
高階會員 發表:34 回覆:371 積分:236 註冊:2003-11-17 發送簡訊給我 |
jackyung你好: 是要這樣子嗎?? http://delphi.ktop.com.tw/topic.php?topic_id=35185
【BCB】【問題】請問如何取得正在執行的程式位置
|
jackyung
一般會員 發表:22 回覆:46 積分:13 註冊:2004-01-24 發送簡訊給我 |
|
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
|
jackyung
一般會員 發表:22 回覆:46 積分:13 註冊:2004-01-24 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |