指针可以从其起点指向多远?

how far a pointer can point to from it's starting point?

本文关键字:多远 起点 指针      更新时间:2023-10-16

我正在发送一个字符串(字符序列)到c++中的函数,然后函数将在char类型的指针中接收它。但是当我增加指针以到达每个字符时,它会在第19个字符之后离开字符串字符,只是指向程序中的其他地方。这是我要发送的字符串:

xe1x0cx01x00x00x01x00x00x00x00x00x00x06googlex03comx00x00x01x00x01
下面是我的代码:
char* request_process(char *request)
{
     for (int j = 0; j< 27; j++)
     {
        cout << (request[j] << 0) << "n";
     }
 .
 .
 .    
 }

在"google"之后就出错了。那么我该怎么把它变成(二进制)"00000011"然后"c"?

指针几乎肯定不是问题所在。另一方面手,cout以文本模式打开,输出非打印除了一些特别保留的字符(如'n')以外的字符以文本模式打开的文件是未定义的行为。在实践中,实现可能会让字符通过,但是谁知道它们会对输出设备产生什么影响。