C++:
Tekstitiedoston kirjoittaminen

Kuinka:

C++ tarjoaa useita tapoja kirjoittaa tekstitiedostoon, mutta yksi suoraviivaisimmista menetelmistä on <fstream>-kirjaston käyttö, joka tarjoaa ofstream (output file stream) -luokan, joka on suunniteltu tiedoston kirjoitusoperaatioille.

Esimerkki käyttäen <fstream>:

#include <fstream>
#include <iostream>

int main() {
    std::ofstream file("example.txt");
    if (file.is_open()) {
        file << "Hello, world!\n";
        file << "Kirjoittaminen tiedostoon C++:lla on yksinkertaista.";
        file.close();
    } else {
        std::cerr << "Tiedoston avaaminen epäonnistui\n";
    }
    return 0;
}

Esimerkkituloste ’example.txt’-tiedostossa:

Hello, world!
Kirjoittaminen tiedostoon C++:lla on yksinkertaista.

Kun käsitellään monimutkaisempaa dataa tai tarvitaan enemmän kontrollia kirjoitusprosessiin, ohjelmoijat saattavat kääntyä kolmannen osapuolen kirjastojen, kuten Boost Filesystem, puoleen.

Esimerkki käyttäen Boost Filesystem:

Boostia tiedosto-operaatioihin käyttäessäsi sinun täytyy ensin asentaa Boost-kirjastot. Seuraava esimerkki demonstroi tiedoston luomista ja kirjoittamista käyttäen boost::filesystem ja 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 filePath("boost_example.txt");
    io::stream_buffer<io::file_sink> buf(filePath.string());
    std::ostream out(&buf);
    out << "Boost tekee tiedosto-operaatioista helppoja.\n";
    out << "Tämä on rivi kirjoitettu Boostilla.";
    
    return 0;
}

Esimerkkituloste ‘boost_example.txt’-tiedostossa:

Boost tekee tiedosto-operaatioista helppoja.
Tämä on rivi kirjoitettu Boostilla.

Valinta raakojen C++ ja kolmannen osapuolen kirjaston, kuten Boost, välillä riippuu projektisi erityisvaatimuksista ja kuinka paljon kontrollia tai joustavuutta tarvitset tiedosto I/O -operaatioihin.