VS Express 2015 Win10应用程序 - ifstream无法打开文件

时间:2017-07-30 10:31:18

标签: c++ visual-studio-2015 fstream ifstream ofstream

fstream,VS Express 2015 C ++中的ifstream和ofstream对我来说根本不起作用。我试图在MingGW中打开一个文件当然有效,但在VS Studio中它不想打开给定位置的文件。我还将文件“Artikel.txt”放在项目根目录中,但它没有什么区别。 尝试用errno来检测错误,失败了。我也无法在输出中收到错误消息。

void App1::MainPage::initArtikel()
{
    ifstream file;
    file.open(L"C:\\Users\\...\\Documents\\Visual Studio 2015\\Projects\\App1\\Artikel.txt");
    string zeile;
    Artikel neuerArtikel;
    if (file.is_open())
    {
        OutputDebugStringW(L"Artikel.csv wird geöffnet...");
        while (getline(file, zeile))
        {
            size_t pos = 0;
            string token;

            //Erste Spalte "Name"
            pos = zeile.find(CSV_DELIM); 
            token = zeile.substr(0, pos);
            neuerArtikel.Name = stops(token);
            zeile.erase(0, pos + 1);

            //Zweite Spalte "Preis"
            pos = zeile.find(CSV_DELIM);
            token = zeile.substr(0, pos);
            neuerArtikel.Preis = stod(token);
            zeile.erase(0, pos + 1);

            sortiment.push_back(neuerArtikel);
        }
        //file.close();
    }
    else
    {
        OutputDebugStringA(strerror(errno));
    }
}

1 个答案:

答案 0 :(得分:0)

就我而言OutputDebugStringA(strerror(errno));提供:

  

'权限被拒绝'

如果我使用file.open(Artikel.csv");,则会收到以下错误:

  

'没有这样的文件或目录'

实际上将文件“Artikel.csv”放在了位置:

  

C:\ Users \ ... \ Documents \ Visual Studio 2015 \ Projects \ App1 \ Debug \ App1 \ AppX

给了我输出:

  

'Artikel.csvwirdöffnet'