2012-11-13 13 views
5

可能性の重複:私はC++/C#で簡単な字句コンパイラを作成する方法に取り組んできた
ios::nocreate error while compiling a C++ code使用イオス:: "宣言されていない識別子" エラーでNOCREATEフラグ結果

プログラムをコンパイルしようとするとエラーが発生しているようです。

error c2065 'nocreate' undeclared identifier 

この問題はありますか?しかし、おそらくそれはfstreamヘッダーと関係があると思います。どのように扱うことができるのでしょうか?

このそれは私にエラー

loadTransitionTable(); 

    fstream File("input.txt", ios::in|ios::Nocreate); 

    if (!File) 
    { 
     cout<<"\n Unable to open the input file."<<endl; 
     cout<<"\n Press any key to exit."; 

     getch(); 
     exit(0); 
+0

を試してみてください? 'ios :: in'(これは' ifstream'のデフォルトの場合)で開くと、ファイルが存在しなければ作成されません。 –

+2

http://stackoverflow.com/questions/1062861/iosnocreate-error-while-compiling-a-c-codeをご覧ください。 –

答えて

3

あなたはVisualStudioをしている場合は何の `nocreate`フラグがないので、たぶん

std::fstream File("input.txt", std::ios::in|std::ios::_Nocreate); 
8

ios::Nocreateを与えているコードは、標準C++の一部ではありませんが、意図は、それが存在しない場合は作成されたファイルを防ぐためであればされ、あなたリラックスできる。これは、あなたが言うだけのことができるように、とにかくifstreamsのデフォルトです:

fstream File("input.txt", ios::in); 
2

標準C++ライブラリはstd::ios::Nocreateを定義していません。読み込み用に開かれたファイルは作成されませんので、省略することができます:

fstreamファイル( "input.txt"、ios :: in);

か、単に使用します。

はifstreamファイル( "INPUT.TXT");

関連する問題