什么书?
gcount的()这种说法是错误
cin.ignore(numeric_limits 的MAX(),'\ n');真正的缓冲区丢失的数据。
听的描述已经很尴尬。
gcount的()返回的最后一个非格式化输入的字符数
字符缓冲区[10];
cin.read(BUF,5); / /这里cin.gcount()返回5,在buf中的字符数。
istreambuf >缓冲甚至没有联系。
非格式化输入()函数getline(),read()方法,只有的getline函数()将添加“\ 0终止+1毫无意义
什么书?
gcount()的这种说法是错误的
cin.ignore(numeric_limits
光听描述已经是很别扭了.
gcount()是返回上一次非格式化输入的字符数.
char buf[10] ;
cin.read( buf, 5 ) ; // 这里cin.gcount()返回5,是buf里的字符数.
这和istreambuf<>里的缓冲区根本就没联系.
非格式化输入主要有get(), getline() read(),只有getline()才会加"\0结束符". 所以+1也根本没意义
还有一个结束符的大小没有算在里面