C++读取字符串的两种方式
1. getline(): 读取行的输入
getline函数读取整行, 它使用通过回车键输入的换行符来确定输入结尾。想要使用该方法可以用:
cin.getline();
// 该函数有两个参数
// 参数1: 存储输入行的数组名称
// 参数2: 读取的字符数
// 假设使用getline() 将命名读进一个数组名为name长度为20的数组中
cin.getline(name, 20);
Tips: getline()函数每次读一行,它通过换行符来确定行尾,但不保存换行符。
2. get(): 读取行的输入
get函数与getline函数接受的参数相同, 解释的方式也相同,并且都读取到行尾。
get 并不会再读取并丢弃换行符,而是将其留在输入队列中
// 假设我们调用两次get
cin.get(name, 20);
cin.get(address, 20);
由于第一次调用get后,换行符留在队列中,因此第二个get调用看到的就是换行符,因此认为get到了行尾,而没有发现任何可读取内容。
// 利用get()不带参数读取换行符即可
cin.get(name, 20);
cin.get()
cin.get(address, 20);
// 也可以采用拼接
cin.get(name, 20).get();
cin.get(address, 20);
对应字符串不同的读入,使用对应的方法即可!