我知道這個問題被問到here 但我沒有找到我在找什麼。目前我能找到的最佳答案顯示瞭如何向文本文件添加內容。如何閱讀然後在C++編輯文件txt
我該如何使用fstream來只讀取文本文件中的最後一個數字並讀取最後一個字符串呢?
或者,我怎樣才能簡單地替換文件中的某一行?例如:
的文件將是:
Line 1:NAME
Line 2:4
和代碼將改爲1號線,並將其分配給一個字符串,後來就改變它, 同樣與第二行
我知道這個問題被問到here 但我沒有找到我在找什麼。目前我能找到的最佳答案顯示瞭如何向文本文件添加內容。如何閱讀然後在C++編輯文件txt
我該如何使用fstream來只讀取文本文件中的最後一個數字並讀取最後一個字符串呢?
或者,我怎樣才能簡單地替換文件中的某一行?例如:
的文件將是:
Line 1:NAME
Line 2:4
和代碼將改爲1號線,並將其分配給一個字符串,後來就改變它, 同樣與第二行
如果您確切知道每行有多少個字段以及多少行,這將幫助您創建一個while循環,該循環將分配字段到矢量或數組並相應地提取值。然後,如Joel建議的那樣,打開文件以使用新數據寫入和替換內容。
代碼:
#include <fstream>
#include <vector>
#include <string.h> //or <string> depending on you IDE, i use Xcode
using namespace std;
int main() {
vector <string> a;
vector <string> b;
string field1;
string field2;
ifstream data;
data.open("data.txt");
if (data.fail()) {
cerr << "Error Opening File!" <<endl;
exit(1);
}
while (data >> field1 >> field2) {
a.push_back(field1);
b.push_back(field2);
}
data.close();
return 0;
}
這將是你怎麼看它,矢量持有FIELD1,向量b持有場2,這意味着未來指數「1」將舉行下一行的值(2號線) 。
http://stackoverflow.com/search?q=edit+a+line+of+a+text+file+%5BC%2B%2B%5D+is%3Aquestion –
文件沒有「行」。這是一個由編程語言或庫增加的抽象層。文件不過是一個單獨的長字節字符串。任何你想用它做的事情,你都必須通過讀寫字節來完成。 –