我試圖從文件中讀取和寫入一對int對。該文件將是這個樣子:從文件中讀取和寫入int對
0 6
12 24
48 33
23 24
80 79
我的目標是讀每一對到一個結構:
struct foo {
int a;
int b;
}
,然後按每個結構到堆棧。然而,fstreams已被證明相當難以處理這項任務。現在,我的文件中讀取的代碼如下所示:
std::fstream fileStream(file, std::ios::in);
int a, b;
while (fileStream >> a >> b) {
myStack.push({ a, b });
}
我的輸入可能是這樣的(我必須單獨做,因爲什麼,我使用它...的):
inputFoo(foo bar) {
std::fstream fileStream(file, std::ios::out);
fileStream << bar.a << " " << bar.b;
}
但是,我有一種感覺,這不是我應該如何有效和安全地做到這一點。我也有來檢查,如果該文件已經存在的功能,但我不知道那一個作品之一:
bool fileExists() {
std::ifstream stream;
return stream.good();
}
什麼是真正做到這一點的最好方法是什麼?
我會使用ifstream和ofstream而不是fstream – pjsofts
而對於文件的存在,如果性能是一個問題:http://stackoverflow.com/questions/12774 207 /最快的方式檢查,如果一個文件存在使用標準c-c11-c – pjsofts