当我准备用cin向一个字符串数组输入一串带空格字符的时候,发现自己对字符串的输入认识很模糊,所以收集了一些资料之后,便记录一下自己的实验结果。
输入带空格字符串有三种函数,cin.getline(str, len) ,cin.get(str, len) ,getline(cin, str)
cin.getline(str , len)
str是输入的目标字符串,len是想要输入字符串的长度。该函数会忠实的把一串字符串输入str中,并且会舍弃掉末尾的换行符(用getchar来验证,看其是否可以接收到换行符)
#include<iostream>
using namespace std;
int main() {
char str[100] = { 0 };
cin.getline(str, 100);//已经成功,格式是cin.getline(str,len),len是读取的长度。
getchar();
cout << str << endl;
}
因为getchar()没有接收到换行符,所以需要多打一个回车。
值得一提的是,该字符串输入的时候,同样会输入末尾的 ‘\0’ ,即如果想要输入2个字符串,len应为3。
#in