我应该使用什么功能在mac OS X中打开文件
What function should I use to open file in mac OS X?
我使用C++生成器来创建我的跨平台应用程序。在应用程序中,我将通过打开文件对话框获取文件名/路径。在Windows中,处理Unicode字符串是没有问题的。(例如"C:\測試"(在mac OS X中,我可以从UnicodeString获得正确的字符串。但是我找不到将其转换为字符数组并使用"fopen"正确打开文件的好方法。我试图直接将UnicodeString分配给AnsiString,但它变成了"C:\??"。因为"fopen"只接受"char*",而UnicodeString只能导出"char16*",所以我需要将其转换为"fopen"的char。知道吗?
>仅仅因为fopen()
需要char*
并不意味着您应该给它一个ANSI字符串。 OSX 上的 POSIX API 接受 UTF-8 编码的文件名,因此请使用 UTF8String
而不是 AnsiString
。 char*
可以指向 UTF-8 字符串。
否则,请勿直接使用 fopen()
。 改用 RTL 自己的函数,例如System.SysUtils.hpp
单元中的FileCreate()
/FileOpen()
,或单元System.Classes.hpp
中的TFileStream
类。 让 RTL 在内部决定如何为您与平台 API 交互。
相关文章:
- 从我的2d数组中的一列返回的字符串值被压缩为一个字符串(在Mac os上打开Windows txt文件)
- 在 Ubuntu(linux OS)中将一个巨大的文件读入C++向量
- Mac OS X:应用程序可以创建日志文件
- 二进制文件中的某些数据如图所示,并以奇怪的方式显示OS
- 无法写入文件 pri:无法在 QT mac OS 中创建父目录
- 我应该使用什么功能在mac OS X中打开文件
- mbed OS 5 项目中链接了哪些文件
- 在OS Ubuntu中运行GDB时,如何导出阀门值为文本文件
- 一个文件中的多个OS单元测试 - 是否可能
- C 类文件未在Linux OS上运行的Eclipse Mars中构建二进制文件
- 无法使用 Xcode 和终端在 Mac OS 上使用 OpenGL 库编译 c++ 文件
- 在Mac OS X中仅使用给定的文件路径以编程方式装载磁盘/卷
- Ubuntu OS中的文件表
- 在 Mac OS X 上编译 Vowpal Wabbit 时找不到头文件
- 如何使用OpenGL和GLUT渲染3d.obj文件?(Mac OS X,XCode 4)
- 为什么当我键入名称时我的可执行文件不会运行?(Mac OS X Mountain Lion)Mac OS X 10.8.
- 如何将我的应用程序生成的标准 Mac OS X 日志输出重定向到文件
- 如何在Mac OS X上从命令行进行配置文件
- .def文件相当于OS X
- 区分头文件和编译器/语言标准/os/glibc