问题描述
此代码:
regex
如果我输入的是“ 1234”
#include <iostream>
#include <string>
#include <cstring>
#include <cstdio>
using namespace std;
#define p(a) cout << "|" << a << "|" << endl
int main() {
char a[100];
char b[100];
cin.getline(a,4,'\n');
cin >> b;
p(a);
p(b);
return 0;
}
我有下一个输出:
1234
但是我知道使用getline可以得到三个元素:|123|
||
,它将发送到"123"
变量,最后添加a
字符。同样,其余字符\0
留在缓冲区中。那么为什么在下一个"4\n"
中没有将其复制到"cin>>"
变量中呢?为什么b
是b
?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)