C++中的getline()和get()

getline()将丢弃换行符,而get()将换行符保留在输入序列中

getline(): cin.getline(第一个参数,第二个参数),第一个参数是用来存储输入行的数组名称,第二个参数是要读取的字符数。 

     它通过换行符来确定行尾,但不保存换行符。相反,在存储字符串时,它用空字符来替换换行符。

get(): cin.get(第一个参数,第二个参数),第一个参数是用来存储输入行的数组名称,第二个参数是要读取的字符数。

1 cin.get(name, Arsize);
2 cin.get(desert, Arsize);

由于第一次调用后,换行符将留在输入队列中,因此第二次调用时看到的第一个字符便是换行符。因此get() 认为已经到达行尾,而没发现任何可读取的内容。

1 cin.get(name, Arsize);
2 cin.get();
3 cin.get(dessert, Arsize);
4 或者是cin.get(name, Arsize).cin.get();

猜你喜欢

转载自www.cnblogs.com/xueyoubao/p/9977384.html