0

ifstream myfile(fileName);で誰がライムなのかを誰かが理解するのを手伝ってくれませんか。g ++でのコンパイル時にエラーが発生しますか?

string fileName;

cout << "\nPlease enter the name of your input file:" << endl;
cout << "->";
getline (cin, fileName);

cout << "fileName: " << fileName << endl;

string line;
ifstream myfile(fileName);
if (myfile.is_open()){
    while(getline(myfile, line)){
        cout << line << endl;
    }
myfile.close();
} else {
    cout << "Unable to open file"; 
}
4

2 に答える 2

4

const char*C ++ 11をサポートしていない限り、コンストラクターにを渡す必要があります。あなたはこのようにそれを達成することができます:

std::ifstream myfile(fileName.c_str());

関連するコンストラクタについては、このドキュメントを参照してください。

于 2012-11-05T19:46:06.130 に答える
1

最初にそれをc-stringに変換する必要があります。

myfile((filename).c_str())を試してください

于 2012-11-05T19:46:40.480 に答える