मुझे लगता है कि यह काफी सरल होना चाहिए, लेकिन मेरे गुगल ने अब तक मदद नहीं की है ... मुझे सी ++ में मौजूदा फाइल को लिखना होगा, लेकिन फाइल के अंत में जरूरी नहीं है।सी ++ में फ़ाइल के बीच में कैसे लिखें?
मुझे पता है कि जब मैं अपनी फ़ाइल में टेक्स्ट जोड़ना चाहता हूं, तो मैं अपने स्ट्रीम ऑब्जेक्ट पर open
पर कॉल करते समय ध्वज ios:app
पास कर सकता हूं। हालांकि, यह केवल मुझे फ़ाइल के बहुत अंत में लिखने देता है, लेकिन इसके बीच में नहीं।
#include <iostream>
#include <fstream>
using namespace std;
int main() {
string path = "../test.csv";
fstream file;
file.open(path); // ios::in and ios::out by default
const int rows = 100;
for (int i = 0; i < rows; i++) {
file << i << "\n";
}
string line;
while (getline(file, line)) {
cout << "line: " << line << endl; // here I would like to append more text to certain rows
}
file.close();
}
आप एक अनुक्रमित फ़ाइल लाइब्रेरी (जैसे [जीडीबीएम] (http://www.gnu.org.ua/software/gdbm/)) या [sqlite] (http://sqlite.org/) का उपयोग करना चाह सकते हैं , या यहां तक कि एक पूर्ण डेटाबेस ([PostgreSQL] (http://postgresql.org/), [मोंगोडीबी] (http://mongodb.org/) ....) –
फ़ाइलों को बदलने का मानक तरीका: इनपुट पढ़ें फ़ाइल, प्रक्रिया, नई आउटपुट फ़ाइल को लिखें, सफल होने पर, आउटपुट फ़ाइल के साथ इनपुट फ़ाइल को ओवरराइट करें। "तेज़" विकल्प हैं (जैसे ios :: ऐप), लेकिन वे प्रत्येक स्थिति के लिए नहीं हैं। – stefaanv
क्या यह पहले से ही दस लाख बार नहीं पूछा गया है? –