我使用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) –