目录:点我
一、字符读取
getline()
:按行读取cin.getline(name,ArSize)
:按行读取,name
为保存数组名,ArSize
为字符数,可读取ArSize-1
个字符,即读取并丢弃换行符cin.get(name,ArSize)
:同cin.getline
,但是不读取丢弃换行符,仍将其留在输入缓冲区cin.get()
:无参数,用于处理换行符- 上述函数可以拼接使用,原理是函数返回值均为
cin
的对象。例如:cin.getline(name,ArSize).getline(name,ArSize) cin.get(name,ArSize).get()
- 当
cin
与cin.get
、cin.getline
混用时,由于cin
不处理换行符,导致另外两个函数在处理换行符时错认为空行,因此程序出错。解决方法是通过cin.get()
处理换行符,例如:// 错误示例 int year; cin>>year; char address[80]; cin.getline(address,80);// 此时由于换行符未处理,address为空 // 正确处理方法 int year; cin>>year; cin.get(); char address[80]; cin.getline(address,80);