2016-10-24 5 views
0

私は現在、自分のコードにファイルを実装する方法を学習しており、ユーザーがファイルを帰ったかどうかを確認する方法を知る必要があります。ユーザーからファイルを受け取り、エラーをチェックする必要があります。ここでは、ファイルを入力して開くことができるかどうかを確認するためにこれまで持っていたことがあります。私が今必要とするのは、ファイルが有効かどうかを確認することです。なぜなら、前に定義した2つのクラスを使用しているからです。ファイルに十分な変数があるかどうかをチェックする方法?

int main() 
{ 
    string vectorFile; 
    string matrixFile; 
    string resultFile; 

    cout<<"Enter vector filename: "<<endl; 
    cin>>vectorFile; 
    cout<<"Enter matrix filename: "<<endl; 
    cin>>matrixFile; 
    cout<<"Enter result filename: "<<endl; 
    cin>>resultFile; 
    cout<<""<<endl; 

    ifstream finV; 
    ifstream finM; 
    ofstream fout; 

    finV.open(vectorFile.c_str()); 
    finM.open(matrixFile.c_str()); 
    fout.open(resultFile.c_str()); 


    if(finV.fail()) 
    { 
     cout<<"Unable to open vector file."; 
     return 1; 
    } 

    if(finM.fail()) 
    { 
     cout<<"Unable to open matrix file."; 
     return 1; 
    } 

    if(fout.fail()) 
    { 
     cout<<"Unable to open vector file."; 
     return 1; 
    } 

} 
+1

処理する前に別のチェックを行う必要がありますか?通常は処理するだけで、処理中にエラーが発生した場合は、ファイルの内容が正しくないことを報告します。 –

+3

1)十分な値が得られるか、読み込みに失敗するまで読み取ります。 2)十分に読んでいるかどうかを確認してください。それはそれと同じくらい簡単で退屈です。 –

+1

ああ、 'using namespace std'は使わないでください。 –

答えて

1

「>>」演算子を使用すると、十分な値が読み込まれているかどうかを確認できます。

double value; 
if (!(finv >> value)) { 
    cout << "Unable to read vector file." << endl; 
    return 0; 
} else { 
    //Set value in array, vector, etc. 
} 
関連する問題