Visual Studio 2022下C++文件重定向失效问题求助及解决
问题:Visual Studio 2022中C++文件重定向无效的解决办法
问题背景
我是编程新手,正在使用Visual Studio 2022学习《C++ Primer(第5版)》,目前完成到第一章的书店问题。书中提到可通过文件重定向将文件作为输入并写入输出文件,示例命令为$ addItems outfile,但我在程序运行弹出的窗口中输入类似命令后毫无反应。
我的代码
#include <iostream> #include "Sales_item.h" int main() { Sales_item currTrans, trans; std::cout << "Enter some ISBNs"; if (std::cin >> currTrans) { int cnt = 1; while (std::cin >> trans) { if (currTrans.isbn() == trans.isbn()) ++cnt; else { std::cout << currTrans << " occurs " << cnt << " times." << std::endl; currTrans = trans; cnt = 1; } } std::cout << currTrans << " occurs " << cnt << " times." << std::endl; } }
尝试的操作及问题
我已将input.txt和output.txt放入源码文件夹及exe所在文件夹,但程序始终无法读取输入文件或写入输出文件。尝试了以下命令:
$ primer-chapter1-exercises.exe < input.txt >> output.txt< $(E:\coding-stuff\cpp-primer\primer-chapter1-exercises\x64\Debug\primer-chapter1-exercises.exe)input.txt>>output.txt
两种命令均未在终端或output.txt中产生任何输出。
解决方法
错误地在Visual Studio 2022的程序终端中像使用cmd一样执行文件重定向,经进一步研究,改用fstream实现了文件的读写功能。
内容的提问来源于stack exchange,提问作者Dargon567
相关产品推荐
相关产品推荐

