2012-11-13 92 views
5

可能重複:
ios::nocreate error while compiling a C++ code使用IOS :: nocreate的標誌結果爲 「未聲明的標識符」 錯誤

我一直在努力如何在C++/C#一個簡單的詞法編譯器但似乎我有一個錯誤,當我嘗試編譯該程序的錯誤是

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

也許是因爲沒有'nocreate'標誌?如果你打開'ios :: in'(如果ifstream默認),如果文件不存在,將不會創建任何文件。 –

+2

請參閱http://stackoverflow.com/questions/1062861/iosnocreate-error-while-compiling-a-c-code –

回答

3

如果你是VisualStudio中,嘗試

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 File(「input.txt」,ios :: in);

或只使用:

ifstream的文件( 「input.txt中」);