【发布时间】:2022-01-05 12:26:09
【问题描述】:
我对 c++ 完全陌生,但我在管理输入方面遇到了问题。我有一个程序,我希望可以从控制台读取输入,也可以从文件中读取。
我有一个带有私有字段std::istream &input_stream; 的类,在构造函数中我将此input_stream 设置为std::cin,但是当我的程序使用标志-i-FILENAME 运行时,我希望input_stream 成为那个文件。
class FlagsParser
{
private:
std::istream &input_stream;
public:
FlagsParser() : input_stream(std::cin){}
void ParseFlags(int count,char *flags[]) -> arguments I get from main
{
for(int i =1;i<count;++i){
std::string flag = flags[i];
if(flag.rfind("-i",0) == 0){ // check if the arg starts with -i
std::ifstream readFile(flag.substr(2));
-> Here i want to set input_stream to readFile and I have no idea how.
...
我该怎么办?感谢您的任何帮助。 (也许我做错了?)
【问题讨论】: