为了便于测试,我希望将Cin的输入设置为可以硬编码的字符串。
例如,
std::cin("test1 \ntest2 \n");
std::string str1;
std::string str2;
getline(cin,str1);
getline(cin,str2);
std::cout << str1 << " -> " << str2 << endl;
将读出:
test1 -> test2
IMO的最佳解决方案是将您的核心代码重构为接受std::istream
引用的函数:
void work_with_input(std::istream& is) {
std::string str1;
std::string str2;
getline(is,str1);
getline(is,str2);
std::cout << str1 << " -> " << str2 << endl;
}
并要求进行如下测试:
std::istringstream iss("test1 \ntest2 \n");
work_with_input(iss);
并用于以下生产:
work_with_input(cin);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句