C++字符串输入
1.使用cin输入
char a[20];
cin>>a;
遇到空字符就停止输入,即只能输入单个单词。
2.使用getline输入
char a[20];
cin.getline(a,20);
该函数有两个参数,第一个是数组的名称,第二个是要读取的字符数。遇到换行符或者读取完指定数目的字符停止读取。在存储字符串时,用空字符来代替换行符。
3.使用get输入
(1)与getline用法相似,接受的参数相同,解释参数的方式也相同,都读到行尾,但不读取并丢弃换行符,而是将其留在输入队列,如果连续调用两次get
char a[20],b[20];
cin.get(a,20);
cin.get(b,20);
假设输入“asasd sadas”,输出仍然是“asasd sadas”,因为第一次调用后,换行符留在了输入队列,第二次调用时,看到的第一个字符就是换行符,此时,get认为已经到达了行尾,没有读取任何东西。
解决方法就是使用get拼接
char a[20],b[20];
cin.get(a,20).get();//第二个get()处理了换行符
cin.get(b,20);