2

私はこのコードを書きました。ユーザーにファイルのフルパスを尋ねてから、そのパスに移動してファイルを開きたいです。残念ながら、プログラムはファイルを見つけることができません。たとえば、このパス G:\project 2\newfile にファイルを作成しましたが、これを C++ コンソールに入力すると、「ファイルを開くときにエラーが発生しました」と表示されます。私は本当にこの問題を解決する必要があります。これで私を助けてください。ありがとう

#include <iostream>
#include <fstream>
#include <conio.h>
#include <windows.h>

using namespace std;

int main()
{
    string address;
    cout << "Enter the full path of the file" << endl;
    cin >> address;
    ifstream file(address.c_str());

    if (!file) {
        cout << "Error while opening the file" << endl;
        return 1;
    }

    return 0;
}
4

1 に答える 1

5

ファイル名のスペースを適切に処理していないため、アプリケーションが失敗しています。

代わりにこれを試してくださいcin >> address;

getline(cin,address);

との違いについては、この質問を参照してください。cingetline

于 2013-06-18T20:10:48.560 に答える