2016-03-29 4 views
0

私の次のステップはgetcwd()を試してみることですが、私のコードには見えないエラーがあるのでしょうか? student_status.txtが正しいフォルダにあり、私は完全なファイルパスを試しました。フルパスを指定してもC++でファイルを開くことができません

また、ファイルがコンパイルされ、ファイルが開かれていないことが通知されます。

アイデア?

using namespace tenPoint; 
int main() 
{ 
    string name; 
    char grade; 
    double average; 

    cout << "test"; 

    ifstream fileRead; 
    fileRead.open("student_status.txt"); 
    if (fileRead.is_open()) 
    { 
     while (!fileRead.eof()) 
     { 
      getline(fileRead, name); 
      fileRead >> average; 
      fileRead.ignore(); 

      switch (finalGrade) 
      { 
      case F: 
       grade = 'F'; 
      case D: 
       grade = 'D'; 
      case C: 
       grade = 'C'; 
      case B: 
       grade = 'B'; 
      case A: 
       grade = 'A'; 
      } 

      cout << name << " " << average << " " << finalGrade << endl; 
     } 
     fileRead.close(); 
    } 
    else 
     cout << "file wasn't open"; 
} 
+0

あなたは正しい場所にいると思いますか? DOUBLEバックスラッシュのフルパスが必要な場合 –

+0

ファイルに対する読み取り権限も持っていることを確認してください。 – wizurd

+0

簡単な質問:完全なパスを指定する方法を教えてください。 – secretgenes

答えて

1

私は、あなたのwhileループ(finalGradeが定義されていない)内部のすべてをコメントアウトstdに名前空間を変更してコンパイルするプログラムを取得するために#includeiostreamのためのラインとfstreamを追加する必要がありました。デスクトップにソースファイルを配置し、デスクトップにg ++実行可能ファイルを出力し、デスクトップに「student_status.txt」という名前のファイルを配置しました。プログラムは正常に動作し、読み込み用にファイルを開きました。私にとって絶対的な道のりは必要ありません。私はOS Xにあります。

まず、ファイル名が正しいこと、シンボル、大文字とすべてが、/executable/出力ファイルと同じディレクトリにあることを確認してください。おそらく、

fileRead.open("./student_status.txt"); 

注現在のディレクトリを検索するように指示します./

fileRead.open("student_status.txt"); 

を交換してみてください。

+1

これはどのようにして低品質レビューキューで終了しましたか? –

+0

私はそれを指摘していただきありがとうございます。 – MichaelK

+0

ええと...私は関連するコード以外のすべてを省いたので、そうです。しかし、バディに行く方法! –

関連する問題