C ++中的0个字符

时间:2014-11-11 14:04:05

标签: c++ arrays char

我在C编程,我需要定义一个字符数组。数组中的一个字符必须为0。 我试过像

这样的东西
array[i] = '0';

但是当我用

将数组发送到输出时
cout << array << endl;

0 char被解释为字符串分隔符,因此只打印索引0和i-1之间的数组部分。 我应该如何定义0字符,以便将数组打印为整个字符序列,而不会中断?问题可能取决于cout的性质(我的意思是,也许我的0 char的赋值是正确的,但打印函数有一些我忽略的奇怪行为)?

感谢您的帮助。

3 个答案:

答案 0 :(得分:0)

字符文字(或在C中命名为字符常量)'0'不是字符串的终止零。您似乎使用了'\0'或整数文字0而不是'0''\0'或0确实是终止零并且值为0,而'0'例如在ASCII中具有值48。

考虑到您写的是用C编程但显示了C ++代码段。:)

答案 1 :(得分:0)

array[i] = '0'; // ASCII code of 0 as a character goes in
array[i] = 0; // string terminator character, can also be written as '\0', same thing

答案 2 :(得分:0)

如果您只想发送ASCII字符0,可以写:

char a='0'

char a=48

我还不知道如何解决的问题是如何将空字节发送到串口,因为0\0是相同的并且总是中断字符串!< / p>