有什麼方法可以知道程序最初在C中產生的目錄?我希望我的程序知道它在計算機中的位置。我已經嘗試在direct.h
中使用_getcwd()
。我也試過getcwd()
使用unistd.h
。但這是問題。如果我將PATH添加到我的程序目錄中,則函數_getcwd()
和getcwd()
路徑將返回我調用該程序的路徑。所以如果我用dekstop運行程序,它將返回桌面的路徑。我已經嘗試使用this方法,但它不能解決問題。它返回調用路徑的值。我想知道用什麼函數來知道程序的路徑,而不是程序被調用的路徑。 我應該使用什麼功能?獲取程序調用的原始位置
回答
當前的工作目錄是沒有用的。在文件系統中的可執行映像的位置與當前工作目錄之間沒有聯繫,而不是巧合。
你可以通過調用_get_wpgmptr(一個Microsoft特定的擴展,隨Visual Studio中的CRT)或GetModuleFileName(通過NULL
爲HMODULE)檢索到可執行文件完全合格的路徑,並通過調用PathRemoveFileSpec解壓路徑(或者Windows 8及更高版本的PathCchRemoveFileSpec)。
我正在使用Windows 7.'_get_wpgmptr()'出現在什麼庫?已經包含'stdlib.h'和'windows.h',但編譯器說:''_get_wpgmptr''的未定義引用。 –
@BryanJames:'_get_wpgmptr()'是Visual Studio的CRT實現的一部分,因此您需要'#include
- 1. 從UIPanGestureRecognizer獲取原始觸摸位置
- 2. 如何在排序後獲取原始矢量的位置值
- 3. 在應用程序開始在iOS中獲取位置
- 4. Java/Windows獲取應用程序位置
- 5. 獲取原始URL中的回調
- 6. 獲取原始鼠標移動(不是屏幕上的位置)
- 7. Android獲取原始html中spannable的位置
- 8. 如何獲取EObject在原始文檔中的位置(#行)?
- 9. 如何在「drop」事件中獲取「ui.draggable」的原始位置?
- 10. 如何在Node.js中獲取'程序名'(調用位置)?
- 11. 使用熔合位置提供程序獲取位置
- 12. ios - 獲取原始多點觸控x,y位置
- 13. 從Qt應用程序獲取原始數據包數據
- 14. 如何獲取程序文件位置?
- 15. ios設置UIScrollView的原始位置
- 16. C#獲取原始線程來設置文本框的值
- 17. 如果調用requestLocationUpdates來獲取用戶的新位置,應用程序崩潰
- 18. Sorter從原始序列中獲取值
- 19. 等待onConnected調用,獲取位置
- 20. 程序更改的行爲取決於調用fork的位置
- 21. 永遠在iOS應用程序中獲取用戶的位置
- 22. 在Android應用程序中同時獲取用戶的位置
- 23. iOS應用程序獲取無效的用戶位置
- 24. 將Gridster重置爲原始位置
- 25. 將控制位置設置爲原始
- 26. 獲取調用程序/被調用程序的HWND
- 27. 獲取任何.net應用程序的user.config文件的位置
- 28. 如何在調用JavaScript時獲取原始引用URL?
- 29. 獲取原始網址
- 30. 獲取selectize.js原始元素
早些時候已經嘗試過這些方法。它返回被調用的路徑,而不是被調用的程序的原始路徑。 –