首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于编写EBCDIC字符数组的fput

用于编写EBCDIC字符数组的fput
EN

Stack Overflow用户
提问于 2013-09-16 21:58:04
回答 2查看 339关注 0票数 1

如果我有一个EBCDIC格式的字符数组,并且我想将这个数组保存到一个文件中。我正在考虑使用fputs输出字符数组,而不首先将其转换为其他格式。

问题)使用fputs编写EBCDIC合法吗?如果没有,应该在输出之前将字符串转换为ASCII吗?

我在网上搜索过,但找不到任何东西说fputs不应该用于输出EBCDIC数据。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-16 22:11:20

如果使用EBCDIC格式的字符数组是以\0字节结尾的c样式字符串,那么就没有问题了。

在二进制模式下,fputs()与格式无关,但它不编写\0

假设您的程序是使用ASCII字符集编写的,重要的是以二进制模式打开输出文件(例如"wb"),否则C的\n在EBCDIC中将不匹配,一些转换是可能的。

另一方面,除了写和读之外,你还打算对这个文件做些什么吗?

如果您的“字符数组以EBCDIC格式”而不是以\0结尾或嵌入了\0字节,建议您简单地使用fwrite()。同样,请确保在二进制模式下使用,除非整个系统是EBCDIC。

票数 2
EN

Stack Overflow用户

发布于 2013-09-16 22:15:02

fputs使用一个C字符串,它使用ASCII编码。那是行不通的。我认为您需要使用更低级别的函数来编写文件。也许可以使用fwrite直接编写文件,而不使用字符串。这是fwrite上的手册页

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18838006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档