在編碼工作中,難免會和檔案路徑打交道,而我們很多時候都會寫類似這樣的**
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 從指定的輸入字串起始位置開始在輸入字...