为什么不能用getline?

P1201 [USACO1.1] 贪婪的送礼者Greedy Gift Givers

# 不支持吧
by JAMERES86 @ 2018-07-14 12:23:29


@[JAMERES86](/space/show?uid=95875) @[YalandHong](/space/show?uid=73680) getline是读取一行, cin是读到空白就结束
by andyli @ 2018-07-14 13:02:08


@[andyli](/space/show?uid=84282) 所以呢?用getline读取名字不可以吗?
by YalandHong @ 2018-07-14 14:34:38


@[YalandHong](/space/show?uid=73680) 数字读完后需要`cin.get();`才可以继续读,否则getline会读到空白
by andyli @ 2018-07-14 15:35:03


@[andyli](/space/show?uid=84282) 我所有的输入都是使用getline,数字的输入用的是stringstream,没有使用过cin。本地运行结果完全正确,但是提交上去就全部WA。(而且显示的信息特别奇怪:read 0, expected 0) :(
by YalandHong @ 2018-07-14 16:28:08


@[YalandHong](/space/show?uid=73680) 代码发给我看看
by andyli @ 2018-07-14 19:37:44


@[andyli](/space/show?uid=84282) 已经删了......不过谢谢指点 THANKS :)
by YalandHong @ 2018-07-14 20:22:03


getline比较麻烦 一半需要先用getchar去掉前一行的回车才行 #include <bits/stdc++.h> using namespace std; int main() { int a; cin>>a; string s; getchar();//删了这一行就会出问题,读入的s是空白 getline(cin,s); cout<<"s:"<<s<<endl; return 0; }
by 小白1548555 @ 2018-08-10 11:51:37


# 和楼主一样的疑惑 ## 谢谢 也是本地可以,上去全wa
by BrandonSoong @ 2018-09-01 14:38:15


|