程式設計中對於檔案路徑應該注意的問題

2021-12-29 19:41:36 字數 824 閱讀 2229

在編碼工作中,難免會和檔案路徑打交道,而我們很多時候都會寫類似這樣的**

fopen("demo.txt", "wb+");  

這樣寫的初衷是在想在程式目錄下讀寫demo.txt檔案,在大多數時候這樣的**沒有問題

但是在某些情況下,這樣填寫路徑是達不到預期效果的

比如我們在開發dll檔案,想記錄乙個配置檔案,該配置檔案應該和dll在乙個目錄下

那麼用上面的**,這個檔案會和exe檔案在乙個目錄嗎?還是和dll在乙個目錄呢?

我們知道,在windows的程式都有個「起始位置」的概念(隨便找個快捷方式,點右鍵屬性就能看到)

這個路徑可以和程式所在路徑不同,所以我又會有乙個疑問:這會影響上面的**執行嗎?

note:如果程式是隨windows啟動的,那麼它的工作目錄會是system32目錄,應該注意這個問題

為了驗證這些問題,我做了個小測試,開發了乙個dll,匯出乙個函式,只是簡單的建立乙個文字檔案

void winapi test()

然後開發乙個exe檔案,載入這個dll並呼叫其匯出的函式,看看這個demo.txt會生成在哪個目錄下

注意,為了讓程式的工作目錄和程式本身不在乙個位置,可以通過cmd來啟動程式

exe路徑:c:\demo.exe

dll路徑:d:\demo.dll

程式的啟動路徑:e:\

執行exe後,demo.txt檔案出現在了e:\下面。

總結:我們平常所說的程式目錄,意指.exe所在目錄。但是對於windows來說,它並不會承認.exe所在路徑,而只認工作路徑

在**中寫入一些非絕對路徑的引數時,應該知道,它是以程式的工作目錄為基準的

程式設計開發應該注意的地方

程式開發中應該注意的地方!1 函式編寫的時候是否藉口型別一致 2 if 是否可以跳出 3 while for是否會發生死迴圈 4 巨集的優先順序是否 5 所有指標使用前是否可能合法 6 全域性變數是否是多程序共同使用,是否加鎖 7 巢狀鎖是否按照順序進行,會不會發生死鎖 8 程式優化的時候是否對部分...

面試中應該注意的問題

簡歷發出去之後,終於有幾家公司要你去面試了。可能有人找到工作不許要簡歷,但幾乎沒有乙個人不許要面試就找到工作的,可見面試在整個找工作過程中的極端重要性。那麼it人在面試中應該注意什麼呢?關於這方面的文章已經很多,這裡僅就大家認為比較重要的幾點進行說明,期望對您有所裨益,早日找到合適的工作!注意您的小...

Regex Match 方法 中應該注意的幾個問題

一 概述 regex.match 方法 在輸入字串中搜尋正規表示式的匹配項,並將精確結果作為單個 match 物件返回。過載列表 1 在指定的輸入字串中搜尋 regex 建構函式中指定的正規表示式匹配項。c public match match string 2 從指定的輸入字串起始位置開始在輸入字...