std::fstream
Megjelenés
Főnév
std::fstream (tsz. std::fstreams)
Az fstream a C++ fájlkezelésért felelős osztálya, amely az #include <fstream> fejléccel érhető el. Az fstream osztály segítségével fájlokat tudunk olvasni, írni és módosítani.
Alapvető használat
Az fstream az ifstream és ofstream osztályokból származik:
ifstream(input file stream): fájl beolvasására használható.ofstream(output file stream): fájlba való írásra szolgál.fstream(file stream): egyszerre olvasásra és írásra is használható.
Fájl megnyitása és olvasása (ifstream)
#include <iostream>
#include <fstream>
#include <string>
int main() {
std::ifstream file("pelda.txt"); // fájl megnyitása olvasásra
if (!file) {
std::cerr << "Nem sikerült megnyitni a fájlt!" << std::endl;
return 1;
}
std::string sor;
while (std::getline(file, sor)) { // soronként olvasás
std::cout << sor << std::endl;
}
file.close(); // fájl bezárása
return 0;
}
Fájlba írás (ofstream)
#include <iostream>
#include <fstream>
int main() {
std::ofstream file("kimenet.txt"); // fájl megnyitása írásra
if (!file) {
std::cerr << "Nem sikerült létrehozni a fájlt!" << std::endl;
return 1;
}
file << "Ez egy példa szöveg.\n"; // fájlba írás
file << "Még egy sor a fájlban.\n";
file.close(); // fájl bezárása
return 0;
}
Fájl olvasása és írása egyszerre (fstream)
#include <iostream>
#include <fstream>
int main() {
std::fstream file("adatok.txt", std::ios::in | std::ios::out | std::ios::app);
if (!file) {
std::cerr << "Nem sikerült megnyitni a fájlt!" << std::endl;
return 1;
}
file << "Új sor hozzáadása a fájlhoz.\n"; // fájlba írás
file.seekg(0); // fájlmutató visszaállítása az elejére
std::string sor;
while (std::getline(file, sor)) { // fájl kiolvasása
std::cout << sor << std::endl;
}
file.close();
return 0;
}
Fontos fájlkezelési módok (std::ios flag-ek)
std::ios::in– Fájl olvasásra történő megnyitása.std::ios::out– Fájl írásra történő megnyitása (ha létezik, törli a tartalmát).std::ios::app– Írás a fájl végére (nem törli a meglévő tartalmat).std::ios::trunc– Megnyitás és az összes tartalom törlése.std::ios::ate– Megnyitás és a fájl végére ugrás.std::ios::binary– Bináris módú megnyitás (pl. képek, egyéb bináris fájlok esetén).
Ezek kombinálhatók | operátorral, pl.:
std::fstream file("adatok.bin", std::ios::in | std::ios::out | std::ios::binary);
- std::fstream - Szótár.net (en-hu)
- std::fstream - Sztaki (en-hu)
- std::fstream - Merriam–Webster
- std::fstream - Cambridge
- std::fstream - WordNet
- std::fstream - Яндекс (en-ru)
- std::fstream - Google (en-hu)
- std::fstream - Wikidata
- std::fstream - Wikipédia (angol)