2017-07-30 23 views
1

fstream、ifstreamとofstreamのVS Express 2015 C++は単に機能しません。私はもちろんMingGWでファイルを開こうとしましたが、VS Studioでは指定された場所でファイルを開こうとしません。私もプロジェクトのルートに "Artikel.txt"というファイルを置いていましたが、違いはありませんでした。 errnoを使用してエラーを検出しようとしましたが、失敗しました。出力にもエラーメッセージが表示されませんでした。私の場合はVS Express 2015 Win10アプリケーション - ifstreamでファイルを開くことができません

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

をワイド文字列のパスを提供し、それを開いてみてください。パスにUnicode以外の記号が含まれている可能性があります。 – VTT

+0

エラーコードを 'errno'から確認してください。 – tambre

+0

質問を編集して関連情報を追加してください。コメントは状態の更新には適していません。 –

答えて

0

OutputDebugStringA(strerror(errno));は提供:

'Permission denied'

私はfile.open(Artikel.csv");を使用している場合は、私は次のエラーを取得する:

'No such file or directory'

実際にファイル「Artikel.csvを置きます"場所:

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

は私に出力を与えた:

'Artikel.csv wird geöffnet'

関連する問題