Oracle® Solaris Studio 12.4:C++ 用户指南

退出打印视图

更新时间: 2014 年 12 月
 
 

13.3.4 使用 char* 提取器

使用该预定义提取器时,请务必小心,它可能会导致问题。请按如下方式使用该提取器:

char x[50];
cin >> x;

该提取器跳过前导空白,提取字符并将其复制到 x 中,直至遇到另一个空白字符。然后,它使用终止空 (0) 字符完成字符串。请谨慎使用该提取器,因为输入可能会溢出给定的数组。

您还必须确保指针指向了分配的存储。以下示例显示了一个常见错误:

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

由于将存储输入数据的位置不确定,因此您的程序可能会中止。