加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 空格vs空字符

发布时间:2020-12-16 10:26:15 所属栏目:百科 来源:网络整理
导读:在C中,当我们需要打印单个空格时,我们可能会执行以下操作: cout ' '; 或者我们甚至可以使用转换后的ASCII代码来表示空间: cout static_castchar(32); //ASCII code 32 maps to a single space 我意识到,打印空字符也会导致打印一个空格. cout static_castc
在C中,当我们需要打印单个空格时,我们可能会执行以下操作:

cout << ' ';

或者我们甚至可以使用转换后的ASCII代码来表示空间:

cout << static_cast<char>(32); //ASCII code 32 maps to a single space

我意识到,打印空字符也会导致打印一个空格.

cout << static_cast<char>(0); //ASCII code 0 maps to a null character

所以我的问题是:所有C编译器都是通用的,当我打印static_cast< char>(0)时,它总是在显示中显示为一个空格?

如果它是通用的,当我使用文件输出流时它是否适用于文本文件?

解决方法

不,它在每个编译器中都是零(0)字符.似乎您使用的字体将零字符渲染为空格.例如,在过去,DOS有一个不同的图像(一个几乎填充的矩形)为零字符.

无论如何,你真的不应该输出零个字符而不是空格!

对于文本文件部分:使用十六进制编辑器打开输出的文件以查看写入的实际位.你会看到那里的差异!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读