C++:
Väliaikaistiedoston luominen

How to: (Kuinka tehdään:)

C++17 toi mukanaan <filesystem> kirjaston, mikä helpottaa väliaikaisten tiedostojen käsittelyä.

#include <filesystem>
#include <fstream>
#include <iostream>

int main() {
    // Luo väliaikainen tiedosto unique temp -nimessä
    std::filesystem::path temp_path = std::filesystem::temp_directory_path() / "example.txt";

    // Kirjoita tiedosto
    {
        std::ofstream temp_file(temp_path);
        temp_file << "Väliaikaista dataa.\n";
        std::cout << "Tiedosto luotu: " << temp_path << std::endl;
    } // ofstream tuhotaan, tiedosto sulkeutuu

    // Lue ja tulosta tiedoston sisältö
    {
        std::ifstream temp_file(temp_path);
        std::cout << "Tiedoston sisältö: " << temp_file.rdbuf();
    }

    // Poista väliaikainen tiedosto
    std::filesystem::remove(temp_path);
    std::cout << "Tiedosto poistettu: " << temp_path << std::endl;

    return 0;
}

Koodi luo, kirjoittaa, lukee ja lopulta poistaa väliaikaisen tiedoston.

Deep Dive (Sukellus syvyyksiin):

Väliaikaisia tiedostoja on käytetty niin kauan kuin tietokoneet ovat olleet olemassa. Ne tarjoavat tapa käsitellä tietoja ilman pelkoa pysyvistä muutoksista levylle. Ennen <filesystem> kirjastoa kehittäjät turvautuivat tmpfile() ja mkstemp() C-funktioihin tai käyttivät kolmansien osapuolten kirjastoja.

Vaihtoehtoisia tapoja luoda väliaikaisia tiedostoja ovat esimerkiksi Boost.Filesystem kirjasto tai suoraan käyttöjärjestelmän tarjoamat API:t. Implementaatioissa on eroavaisuuksia: jotkin poistavat tiedoston automaattisesti, toiset vaativat käyttäjän toimia.

Varmuuden, datan eheyden ja turvallisuuden takaamiseksi oikein käsitellyt väliaikaiset tiedostot ovat keskeisiä. Koodi ei saisi koskaan olettaa, että tiedosto on väliaikainen ilman asianmukaisia toimenpiteitä.

See Also (Katso myös):