在C++Builder中使用编码进行文件写入
File write with Encoding in C++ Builder
我的环境:Windows7 pro上的RadStudio XE4 Update1(32位)。
当我们想用编码来编写文件时,API是什么?
我发现TStreamWriter.Create(FileName, ..., TEncoding.GetEncoding(...))
是一个选项。这是正常使用的吗?
我还找到了带编码的TStringList.SaveToFile()
。
我试图找到为FileOpen()
/Filewrite()
指定编码的方法,但没有找到相关信息。
这里有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语言的文件处理程序,对于正常的文件操作,他们建议使用AssignFile
、Rewrite
和Reset
。
编辑
无论如何,如果可能的话,我会使用TStringStream
/TStringList
解决方案。
相关文章:
- 如何确定我已使用非编码文件到达 EOF?
- 如何将不同的可执行文件合并到一个窗口框架中进行编码?像浏览器一样
- 使用文件内容作为硬编码字符串
- C++和带有国家符号的文件路径(也许用 UTF8 编码)
- 当我在 CLion 中读取数组中的 txt 文件时C++编码问题
- 从文件中读取文本时出现编码问题
- 编码大于原始文本:如何获取零和一的字符串并将它们作为实际字节写入文件
- 如何使jse文件执行编码.exe并静默添加启动?Javascript将文件添加到启动?
- 这些PGM文件是如何编码的?
- 算术编码FPAQ0(一个简单的订单-0算术文件压缩机)
- 将 JPG 编码数组从 ROS sensor_msgs/压缩图像保存到 roscpp 中的文件
- 为什么我在有关文件编码格式的QT代码中获得了混乱的代码
- BASE64图像文件用C 编码
- 从编码域中的 MPEG 文件中读取元数据
- 原始字符串文字和文件编码
- 如何在C++中将文件编码格式设置为UTF8
- 文本文件编码方案
- 什么fstream写函数写到文件(编码在post)
- 读取以tiff文件编码的标签
- 将一个文件编码为1/0二进制文件,并在c++中重建原始文件