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. 獨立於操作系統的並行在C環++
- 3. 「的lib/86/libusb.so」不止一個文件被發現獨立於操作系統的路徑
- 4. 基於操作系統的Win32 C++導入路徑?
- 5. 在獨立於操作系統的路徑中存儲應用程序的配置文件
- 6. 在Ubuntu操作系統中生成UUID
- 7. 如何在Visual Studio 2005中編輯生成系統路徑
- 8. 獨立於操作系統的Python和C之間的程序間通信
- 9. maven:如何以獨立於操作系統的方式加載tools.jar/classes.jar?
- 10. 如何製作適用於所有操作系統的文件路徑通用?
- 11. 在Windows7 32位操作系統上的鉻生成錯誤操作系統
- 12. 如何讓路徑名與不同的操作系統兼容?
- 13. 如何使用Java獲取獨立於操作系統的系統用戶文檔,圖片,音樂文件夾?
- 14. java cleanDirectory()如何使目錄路徑操作系統相關
- 15. C#路徑操作
- 16. 如何在另一個操作系統中部署一個包
- 17. 如何在Perl中更正文件的操作系統特定路徑?
- 18. C中的獨立隨機生成器
- 19. 如何獲得不同操作系統的每個磁盤的recycleBin路徑?
- 20. 創建獨立於操作系統的GUI軟件的可能性
- 21. 從操作系統路徑中的Python腳本使用函數
- 22. Symfony中操作系統無關的供應商路徑
- 23. 不同操作系統中的默認瀏覽器路徑
- 24. 更新PATH環境變量獨立於使用JAVA的操作系統
- 25. 如何根據操作系統使用JFileChooser在Java中獲取正確路徑
- 26. 如何使python程序路徑獨立?
- 27. 使用Path.Combine()在Windows系統上形成一個Linux路徑
- 28. 操作系統和實現獨立訪問鍵盤?
- 29. 異步和同步I/O操作系統是否獨立?
- 30. 使用Python進行操作系統獨立打印
我真的需要一個「完整」庫來選擇/還是\? – Janusz 2009-06-29 02:49:42
不,但這不是DOS和Unix文件名之間的唯一區別。事實上,斜槓被DOS(以及反斜槓)接受 - 但不能由cmd.exe命令解釋器接受。 – 2009-06-29 03:20:43