指针可以从它的起点指向多远?

时间:2012-12-31 13:04:48

标签: c++

我将一个字符串(字符序列)发送到c ++中的函数,然后是函数 会在char类型的指针中接收它。 但当我增加指针到达每个字符时,它会在19号后退出字符串 性格,并指向我的程序中的其他地方。 这是我发送的字符串:

\xe1\x0c\x01\x00\x00\x01\x00\x00\x00\x00\x00\x00\x06google\x03com\x00\x00\x01\x00\x01

这是我的代码:

char* request_process(char *request)
{
     for (int j = 0; j< 27; j++)
     {
        cout << (request[j] << 0) << "\n";
     }
 .
 .
 .    
 }
“google”之后出错了。 那么我应该怎么做才能将它作为(二进制)“00000011”再用'c'?

1 个答案:

答案 0 :(得分:1)

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