发现问题的经历
一开始我在用getline()的时候,查询一些文章,里面提到会把,换行符给读入进去,我然后就测试发现,不是简单的理解的那样。
发现的后总结的结果
就是 例如 在控制台 输入abc按下回车后 拿一个string 接收,发现并没有存储'\n'而是将'\n'转换为'\0'存储了。
//参考文章//https://www.cnblogs.com/mini-coconut/p/9041925.html很有帮助
string s,s1;
//获取一个单词读到空格停止
cin >> s;
cout << s <<endl;
//获取一行输入 读到换行符位置 包括换行符 读取换行符后 以'\0'存储
getline(cin,s1);
cout << s1 << "结束" <<endl;
if(s1[0] == '\0')
cout<<"以\0存储";
控制台输入:hello[enter]后 s="hello" 由于cin遇到\n结束后 会留下'\n' 接着s1读取 s1='\0' 打印if语句里的cout