fstring 不从 .txt 文件中读取

fstring not reading from .txt file

我正在尝试编写一个程序,该程序将读取一个 .txt 文件,该文件在程序从终端 运行 时调用。

使用的命令将是; $ ./myexecutable input.txt

我的程序和input.txt在同一个目录下。到目前为止我的代码如下

#include <string>
#include <fstream>

using namespace std;

int main(int argc , char* argv[]){
    string temp = "here";
    string filename = argv[1];
    ifstream myFile (filename);
    myFile.open(filename);
    if (myFile.is_open()){
        while (getline (myFile, temp)){
            cout << temp << endl;   
            myFile.close();
        }
    } else {
        cout <<< "You have Entered Wrong File Name" << endl;
    }

    cout << "do with the simple program" << endl;
    return 1;
};

但我得到的输出只是

file opened, do with the simple program

我对 fstream 不是很熟悉,所以不知道哪里出了问题。我按照他们的教程找到 here。 但显然我做错了什么。

感谢您的帮助。

这是更正后的代码!! 您打开了 myFile 两次!! 第一次在这个声明中 ifstream myFile (filename); 第二次在此声明-myFile.open(filename);

    #include <string>
    #include <fstream>
    #include <iostream>
    using namespace std;
    
    int main(int argc , char* argv[]){
        string temp = "here";
        string filename = argv[1];
        ifstream myFile (filename);
        if (myFile.is_open()){
            while (getline (myFile, temp)){
                cout << temp << endl;
                myFile.close();
            }
        } else {
            cout << "You have Entered Wrong File Name" << endl;
        }
    
        cout << "do with the simple program" << endl;
        return 1;
    };