您好我试图打印以' \ 0'
结尾的const * char字符串但是当我急于使用cout
时 const char command[9] = {'S', 'T', 'E', 11, 12, 13, 14, 15, '\0'};
const char * i = command;
cout<<i;
它给了我一些正方形&#34; [] [] []&#34;
所以我试图迭代整个字符
while(*i != '\0'){
cout << *i;
i++;
}
它给我:S [] [] []。进度?
当我打印* i时,它给了我&#39; S&#39;但*(i + 1)&#39; [] []&#39;。
这有问题我有8位字符,而int是32位吗? 或者如果我做错了什么?
解决:
char 13作为&#34;垂直标签&#34;从一开始就回归并从控制台隐藏&#34; STE&#34;,然后C ++打印3个其他不可打印的值。 - 现在我需要一个coffie ..
答案 0 :(得分:3)
这是问题
const char command[9] = {'S', 'T', 'E', 11, 12, 13, 14, 15, '\0'};
由于ascii值11, 12, 13, 14, 15
不是可打印字符,请尝试使用
const char command[14] = {'S', 'T', 'E', '1', '1', '1', '2', '1', '3', '1', '4', '1', '5', '\0'};
的图片
答案 1 :(得分:1)
解决:
char 13作为一个“垂直标签”返回carrage开始并隐藏在控制台“STE”,然后C ++打印3其他不可打印的值。 - 现在我需要一个coffie ..抱歉,我坚持这一点。