我正在编写一个主要处理Unicode文本的程序。 C标准库函数'fopen'提供了通过在模式string参数“…,ccs = utf-8”中包含以utf-8格式写入字符文件。 看来,Windows API“CreateFile”确实提供了这样的规定。 我必须使用'fopen'吗?
这是特定于在Windows下编程,使用Visual Studio和Microsoft工具。 我的个人建议是不要使用fopen扩展语法,否则稍后将应用程序移植到其他操作系统时会出现兼容性问题。 在Windows下,使用Windows方式,使用CreateFile。
文件的内容不是由文件打开功能定义的,而是由您写入的实际数据定义的。 在获得文件句柄(通过fopen或CreateFile)之后,可以使用UTF-8或ANSI或任何您喜欢的方式编写。
请注意,一些编码需要在文件的开头有一个特殊的位。