加:我通过编辑VS2013中属性页面中的命令argumennts来重定向标准输入。我正在做一个小项目,它要求我在不使用ifstream的情况下读取一个文件,因为据说:您可以使用的唯一库是iostream、iomanip和string。
发布于 2017-01-07 09:26:38
当文件被重定向到stdin (标准输入)时,您应该从std::cin (std::istream实例)中读取,后者是stdin的包装器。std::basic_ifstream是std::basic_istream的一个子类,所以大多数读取函数都是可用的,您应该熟悉它们。这意味着您可以使用:
std::getline逐行读取文件:
std::<< s << std::endl;}operator >>读取由空格字符分隔的字段:
时间( std::cin ){ std::string s;std::cin >> s;std::cout << s << std::endl;}查看它的操作符和函数的完整列表,在这里:istream
发布于 2017-01-07 09:18:13
您可以使用"freopen“功能。示例:
freopen("input.txt","r",stdin)
这意味着您读取了一个文件"input.txt“并将其内容保存为"stdin”。现在你可以用"cin“了。
https://stackoverflow.com/questions/41519770
复制相似问题