gpt4 book ai didi

c++ - 在 C++ Builder 中使用编码写入文件

转载 作者:太空宇宙 更新时间:2023-11-04 11:26:28 24 4
gpt4 key购买 nike

我的环境:Windows7 专业版(32 位)上的 RadStudio XE4 Update1。

当我们要用Encoding写文件时,有哪些API?

我发现 TStreamWriter.Create(FileName, ..., TEncoding.GetEncoding(...)) 作为一个选项。这是正常使用的吗?

我还发现了带编码的 TStringList.SaveToFile()

我试图找到为FileOpen()/Filewrite()指定Encoding的方法,但没有找到相关资料。

最佳答案

AssignFile功能。从 XE 开始,它有一个可选的 CodePage 参数,用于设置输出文件的代码页(参见 https://stackoverflow.com/a/14243866/3235496 )。

还有 TStringStream::Create方法接受一个 TEncoding 参数。虽然 TStringList 是面向行的,但 TStringStream 类对于读/写字符串 blob 非常有用(参见 https://stackoverflow.com/a/6397914/3235496 )。

这些应该涵盖许多典型的用例。

FileOpen()/FileWrite() 是较低级别的文件访问例程。 Embarcadero 不鼓励使用非本地 Delphi 语言文件处理程序,对于正常的文件操作,他们建议使用 AssignFileRewriteReset .

编辑

无论如何,如果可能的话,我会继续使用 TStringStream/TStringList 解决方案。

关于c++ - 在 C++ Builder 中使用编码写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26520324/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com