如果我有一个 EBCDIC 格式的字符数组,我想将该数组保存到一个文件中。我正在考虑使用 fputs
输出字符数组,而无需先将其转换为另一种格式。
问题) 使用 fputs
编写 EBCDIC 是否合法?如果不是,我是否应该在输出之前将字符串转换为 ASCII?
我在网上搜索过,但找不到任何关于 fputs
不应该用于输出 EBCDIC 数据的说法。
最佳答案
如果您的 EBCDIC 格式的字符数组是一个以 \0
字节结尾的 c 风格字符串,则没有问题。
fputs()
,在二进制模式下,除了不写入 \0
之外,与格式无关。
假设您的程序是使用 ASCII 字符集编写的,重要的是您的输出文件以二进制模式打开(例如“wb”),否则 C 的 \n
将与在 EBCDIC 中相同,并且可以进行一些翻译。
另一方面,除了写入和读回之外,您是否打算对这个文件做些什么?
如果您的“EBCDIC 格式的字符数组”不是以 \0
结尾或嵌入了 \0
字节,建议您简单地使用 fwrite()
。再次确保以二进制模式使用,除非您的整个系统是 EBCDIC。
关于c - 用于写入 EBCDIC 字符数组的 fputs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18838006/