如何在c ++中打印const char指针

时间:2015-01-08 12:32:04

标签: c++ pointers

您好我试图打印以' \ 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 ..

2 个答案:

答案 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'}; 

Ascii Table 来自http://www.asciitable.com/

的图片

答案 1 :(得分:1)

解决:

char 13作为一个“垂直标签”返回carrage开始并隐藏在控制台“STE”,然后C ++打印3其他不可打印的值。 - 现在我需要一个coffie ..

抱歉,我坚持这一点。