好了,所以我沒有因爲使用C++高中(適用於用Borland C++工作)C++使用fstream的
現在我要解決在C++中的一個問題,但我不明白爲什麼fstream的不起作用
由於某種原因ios :: in不起作用。
#include <fstream>
fstream f("Cities.txt,ios::in);
如何正確使用Fstream?
在此先感謝!
注:我使用Visual Studio 2008
好了,所以我沒有因爲使用C++高中(適用於用Borland C++工作)C++使用fstream的
現在我要解決在C++中的一個問題,但我不明白爲什麼fstream的不起作用
由於某種原因ios :: in不起作用。
#include <fstream>
fstream f("Cities.txt,ios::in);
如何正確使用Fstream?
在此先感謝!
注:我使用Visual Studio 2008
你必須首先創建ifstream
類的一個對象,然後打開該文件。 這樣做。
#include <fstream>
std :: ifstream f ("Cities.txt",ios::in) ;
然後檢查它是否打開並開始使用它。
您也在文件名後缺少"
。從
fstream f("Cities.txt,ios::in);
不要養成使用'using namespace std;'的習慣,除了最微不足道的例子它是反效果的 –
編輯爲。 –
變化
std::fstream f("Cities.txt" , std::ios::in);
^^^ ^ ^^^
namespace you miss" namespace
完成!
謝謝,它的工作 – robertpas
你在高中學到的東西大概是在97年C++標準化之前。按照該標準,所有C++庫函數都是std名稱空間的一部分。爲了使用fstream的是標準的命名空間的一部分,你有性病,以限定它::是這樣,那讓你的語法
#include <fstream>
std::fstream f("Cities.txt",std::ios::in);
你也可以寫
#include <fstream>
using namespace std;
fstream f("Cities.txt",ios::in);
的using
指令允許你在所有事情之前不寫std::
。當心,這可能是不好的做法,但在小程序中,它不應該是一個問題。
作爲替代std::fstream
,考慮std::ifstream
(和std::ofstream
):
#include <fstream>
…
std::ifstream f("Cities.txt");
std::ofstream o("output.txt");
std::string s;
while(f >> s)
o << s;
就個人而言,我覺得這更方便比指定open mode。
std :: ifstream,std :: ios :: in – Guillaume07
第一:用另一個'''結束文件名 – ATaylor