此处提及这个预定义的提取器是因为它可能产生问题。使用方法如下:
char x[50]; cin >> x;
该提取器跳过前导空白,提取字符并将其复制到 x 中,直至遇到另一个空白字符。最后完成具有终止空 (0) 字符的字符串。因为输入会溢出给定的数组,所以要小心操作。
您还必须确保指针指向了分配的存储。例如,下面列出了一个常见的错误:
char * p; // not initialized cin >> p;
因为没有告知存储输入数据的位置,所以会导致程序的终止。