我使用C++ Builder來創建我的跨平臺應用程序。 在應用程序中,我將通過打開的文件對話框獲取文件名/路徑。 在Windows中,保持unicode字符串不成問題。 (例如「C:\測試」) 在mac OS X中,我可以從UnicodeString中獲取正確的字符串。但我找不到一個好的方法將其轉換爲char數組,並使用「fopen」正確打開文件。 我試圖直接將UnicodeString分配給AnsiString,但它變成了「C:\ ??」。 因爲「fopen」只接受「char *」而UnicodeString只能導出「char16 *」,所以我需要將它轉換爲char「fopen」。 有什麼想法?我應該使用什麼函數在mac OS X中打開文件?
1
A
回答
0
只因爲fopen()
需要一個char*
並不意味着你應該給它一個ANSI字符串。 OSX上的POSIX API接受UTF-8編碼的文件名,所以使用UTF8String
而不是AnsiString
。 A char*
可以指向一個UTF-8字符串。
否則,請勿直接使用fopen()
。改用RTL自帶的功能,如FileCreate()
/FileOpen()
,System.SysUtils.hpp
單元,或類System.Classes.hpp
單元。讓RTL在內部決定如何與您交互平臺API。
相關問題
- 1. 爲什麼我的PyQt應用程序在Mac OS X的後臺打開?
- 2. 使用vba打開word Mac - OS X
- 3. 什麼是Xcode x或iOS和OS x我應該使用?
- 4. Bash和Mac OS X,在空間中打開應用程序N
- 5. 我應該升級JAVA版本的Mac OS X的Android開發
- 6. PHP的fopen無法打開文件寫在Mac OS X
- 7. 如何在Mac OS X上使用參數打開Java應用程序?
- 8. Mac OS X:如何使終端在.command文件所在的目錄中打開?
- 9. 我應該使用什麼mysqli函數?
- 10. 使用Mac OS X應用程序打開文件沒有收到作爲參數的文件路徑
- 11. 在Mac OS X上使用不同配置文件打開多個firefox實例
- 12. Mac OS X:我應該在哪裏存儲常用的應用程序數據?
- 13. Mac OS X打開cv寫入視頻文件。錯誤
- 14. 如何在OS X中使用C++打開「打開文件」對話框?
- 15. 我該如何說服OS X在MacVim中打開txmt:// URL?
- 16. 在Mac OS X中閱讀windows.CSV文件
- 17. 爲什麼我的OS X文件可執行;我應該改變它嗎?
- 18. 使用mac在python中打開文件
- 19. 如何使用Java應用程序在Mac OS X上打開System Profiler.app?
- 20. 在Mac OS X上開發個人使用的應用程序
- 21. 什麼是文件Mac OS X的st_flags(用戶定義標誌)?
- 22. vmd無法在Mac OS X的命令行參數中使用filename打開
- 23. 我應該使用什麼樣的API將用戶權限提升爲Mac OS X中的超級用戶?
- 24. 爲什麼Vim能夠打敗我的文件權限? OS X
- 25. UnsatisfiedLinkError用在Mac OS X中使用NetBeans
- 26. 使用Objective-C爲OS X應用程序打開文檔
- 27. 如何增加的「最大打開文件」限用C在Mac OS X
- 28. 我可以在開發Mac OS X儀表板小部件中使用jQuery嗎?
- 29. Mac OS X開發 - WebView
- 30. 爲什麼我不應該在C中使用exit函數?
在Mac OS X中可能出現[\ _wfopen等效項]的副本(http://stackoverflow.com/questions/12319/wfopen-equivalent-under-mac-os-x) –