C++:
Skrive en tekstfil
Hvordan:
C++ tilbyr flere måter å skrive til en tekstfil på, men en av de mest direkte metodene er ved å bruke biblioteket <fstream>
som tilbyr klassen ofstream
(output file stream) designet for filskriveoperasjoner.
Eksempel ved bruk av <fstream>
:
#include <fstream>
#include <iostream>
int main() {
std::ofstream fil("example.txt");
if (fil.is_open()) {
fil << "Hallo, verden!\n";
fil << "Å skrive til en fil i C++ er enkelt.";
fil.close();
} else {
std::cerr << "Klarte ikke å åpne filen\n";
}
return 0;
}
Eksempelutdata i ’example.txt’:
Hallo, verden!
Å skrive til en fil i C++ er enkelt.
Når man arbeider med mer komplekse data eller trenger mer kontroll over skriveprosessen, kan programmerere vende seg til tredjepartsbiblioteker som Boost Filesystem.
Eksempel ved bruk av Boost Filesystem:
For å bruke Boost for filoperasjoner, må du først installere Boost-bibliotekene. Følgende eksempel demonstrerer oppretting og skriving til en fil ved bruk av boost::filesystem
og boost::iostreams
.
#include <boost/filesystem.hpp>
#include <boost/iostreams/device/file.hpp>
#include <boost/iostreams/stream.hpp>
#include <iostream>
namespace io = boost::iostreams;
namespace fs = boost::filesystem;
int main() {
fs::path filsti("boost_example.txt");
io::stream_buffer<io::file_sink> buf(filsti.string());
std::ostream ut(&buf);
ut << "Boost gjør filoperasjoner enkle.\n";
ut << "Dette er en linje skrevet med Boost.";
return 0;
}
Eksempelutdata i ‘boost_example.txt’:
Boost gjør filoperasjoner enkle.
Dette er en linje skrevet med Boost.
Valget mellom rått C++ og et tredjepartsbibliotek som Boost kan avhenge av de spesifikke kravene til prosjektet ditt og hvor mye kontroll eller fleksibilitet du trenger over fil-I/O-operasjoner.