August 2021
Intermediate to advanced
450 pages
9h 36m
Chinese
>>操作符按照对象类型的标准格式读取输入,保存到对象中。例如,当读取一个int型对象时,>>会一直读取数字,直至遇到一个非数字的字符为止;当读取一个string时,>>会一直读取字符,直至遇到空白符为止。标准库istream库也提供了读取单个字符和整行内容的功能。考虑下面代码:
如果希望一次读取整行内容,随后再决定如何从中格式化输入数据,那么我们应该怎么做呢?可以使用函数getline(),例如:
现在我们已经获得整行内容了。我们为什么要这么做呢?一个很好的答案是:“因为我们需要做一些>>做不了的事。”通常,一个不好的答案是:“因为用户输入的就是一整行。”如果这是你能想到的最佳答案的话,还是继续使用>>吧,因为一旦读入了一整行,通常情况下你就必须自己来分析输入内容,例如:
显然,直接用>>将读入字符串,存入first_name和second_name更简单些。
使用整行输入的一个常见原因是,默认的空白符不符合我们的要求。有时,我们可能需要将换行符同其他空白符区别对待。例如,与一个电脑游戏的文本交互中,可能将一行作为一句话,而不使用习惯的标点符号。 ...