我有以下输入:
local
127.0.0.1 localhost
other
next
使用以下代码,输出为空白,而我期望的是other。输出为"output: "。
#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
进行双重提取时看到这种奇怪的结果?