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.