7
A
回答
7
如果你想在編譯的時候,你當然可以這樣做
#ifdef WIN32
#define OS_SEP '\\'
#else
#define OS_SEP '/'
#endif
或者你可以只用「/」,事情會工作得很好的窗口(除了解析舊的程序做字符串,只能使用'\')。如果以這種方式顯示給用戶,它看起來很有趣。
7
正如情況經常如此,Boost有一個庫,它可以做你想做的。 Here是一個教程。
1
一個簡單的方法來做你要求的是有一個小的(可能是內聯)功能,使用預處理器魔術來確定平臺(#ifdef WIN32
等)並返回相應的分隔符。
答案有點複雜,因爲除了分隔符還有其他更重要的區別。 Windows文件系統可以有多個根(C:\,D:\等),而整個FS根源於/在Unix-land。
最好的建議可能是使用boost::filesystem
。
2
無處不在內部使用'/'。然後編寫一組實用函數,將任一形式的路徑導入爲'/'。編寫一個具有系統特定ifdefs和必要轉換的「本機路徑」功能。可以根據需要調用。
相關問題
- 1. 操作系統獨立構建路徑
- 2. JFileChooser是否會生成特定於操作系統的路徑?
- 3. C++獨立於操作系統(windows&linux)的開源隨機數生成器庫?
- 4. MessageBox操作系統。獨立
- 5. 獨立於操作系統的並行在C環++
- 6. 「的lib/86/libusb.so」不止一個文件被發現獨立於操作系統的路徑
- 7. 打印在一個獨立於操作系統的架構無關的方式
- 8. 基於操作系統的Win32 C++導入路徑?
- 9. 在獨立於操作系統的路徑中存儲應用程序的配置文件
- 10. 在Ubuntu操作系統中生成UUID
- 11. 獨立的工作路徑?
- 12. 如何在Visual Studio 2005中編輯生成系統路徑
- 13. 操作系統路徑插入命令
- 14. 爲什麼Glut可以獨立於操作系統?
- 15. 獨立於操作系統的Python和C之間的程序間通信
- 16. 如何以獨立於操作系統的方式設置Gradle`options.bootClasspath`?
- 17. maven:如何以獨立於操作系統的方式加載tools.jar/classes.jar?
- 18. 如何製作適用於所有操作系統的文件路徑通用?
- 19. 基於目標操作系統的條件安裝路徑
- 20. MATLAB解析特定於操作系統的路徑
- 21. 在Windows7 32位操作系統上的鉻生成錯誤操作系統
- 22. 如何讓路徑名與不同的操作系統兼容?
- 23. linux如何成爲一個內核和一個操作系統
- 24. 在給定操作系統的Python中加入路徑
- 25. 如何使用Java獲取獨立於操作系統的系統用戶文檔,圖片,音樂文件夾?
- 26. 將在所有操作系統上工作的路徑名稱
- 27. java cleanDirectory()如何使目錄路徑操作系統相關
- 28. C#路徑操作
- 29. 如何在另一個操作系統中部署一個包
- 30. 創建一個獨立於平臺的路徑字符串
我真的需要一個「完整」庫來選擇/還是\? – Janusz 2009-06-29 02:49:42
不,但這不是DOS和Unix文件名之間的唯一區別。事實上,斜槓被DOS(以及反斜槓)接受 - 但不能由cmd.exe命令解釋器接受。 – 2009-06-29 03:20:43