C++格式化输入
·
在使用C++进行解题时,需要将数据按照指定的格式读入之后再进行处理,这个过程称为格式化输入。在C中,一般使用scanf函数,指定相应的参数进行读入。而在C++中,只要定义了变量的类型,可以直接使用重载的运算符“>>”配合cin和(或)istringstream对象进行输入处理。C++会根据变量类型以空白字符(空格、制表符)和换行符作为默认分隔符进行数据的读入。其中cin是istream类的一个实例,可以直接使用,istringstream则是继承自istream的一个类,需要实例化后才能使用。
cin包含了下列用于辅助输入的成员函数:

需要注意,如果混合使用输入重载符“>>”和cin.getline读取输入,需要在每次使用cin.getline前通过cin.ignore忽略掉换行符,否则cin.getline读取的将是上一次输入未读尽的换行符。
另外一个常用的输入处理函数是头文件<string>中的getline函数,它和cin中的成员函数 getline名称相同,功能也类似I。string类的getline函数也有两个版本,其函数原型如下:

getline的作用是从输入流中读入字符,将其存储到string类变量中,直到遇到指定的结束符,如果未指定结束符,则使用默认的结束符‘\n’(回车换行符)。如果在读入过程中遇到文件结束标记(end of file,EOF)或者发生输入流读错误,也会结束输入。
更多推荐
所有评论(0)