【发布时间】:2013-03-17 18:14:10
【问题描述】:
我有给定的输入:
local
127.0.0.1 localhost
other
next
使用下面的代码,输出是我期望其他的空白。输出为“输出:”
#include <iostream>
using namespace std;
int main() {
std::string ip, domain, header;
std::getline(cin, header);
cin >> ip >> domain;
std::getline(cin, header);
std::cout << "output: " << header;
}
但是,我注意到在调用 std::getline 之前提取两次 (cin >> ip >> domain;) 时会出现此问题。如果我有cin >> ip,代码会像我预期的那样工作。为什么我在使用双重提取(operator>>)和std::getline 时会看到这个奇怪的结果?
【问题讨论】:
-
您的输入中有空行吗?请使用代码格式格式化帖子以使其明确。
标签: c++ operators getline extraction