Oracle Solaris Studio 12.2:C++ 用户指南

13.3.4 使用 char* 提取器

此处提及这个预定义的提取器是因为它可能产生问题。使用方法如下:


char x[50];
cin >> x;

该提取器跳过前导空白,提取字符并将其复制到 x 中,直至遇到另一个空白字符。最后完成具有终止空 (0) 字符的字符串。因为输入会溢出给定的数组,所以要小心操作。

您还必须确保指针指向了分配的存储。例如,下面列出了一个常见的错误:


char * p; // not initialized
cin >> p;

因为没有告知存储输入数据的位置,所以会导致程序的终止。