C++:
Skapa en temporär fil
Hur gör man:
I C++17 och framåt, använd std::filesystem
för att skapa och hantera temporära filer. Här är ett exempel på hur man skapar en temporär fil och skriver till den.
#include <iostream>
#include <filesystem>
#include <fstream>
int main() {
// Skapa en temporär fil i systemets temp-katalog
std::filesystem::path temp_path = std::filesystem::temp_directory_path() / "min_temporara_fil.txt";
// Använd std::ofstream för att skriva till filen
std::ofstream temp_file(temp_path);
temp_file << "Hej! Det här är några temporära data." << std::endl;
// Stäng filen och säkra data
temp_file.close();
// Visa sökvägen till den temporära filen
std::cout << "Temporär fil skapad på: " << temp_path << std::endl;
// Radera den temporära filen (frivilligt)
std::filesystem::remove(temp_path);
return 0;
}
Sample output:
Temporär fil skapad på: /tmp/min_temporara_fil.txt
Djupdykning
För länge sedan skapades temporära filer manuellt, ofta med stor risk för kollisioner mellan filnamn. tmpnam
och mkstemp
är C-funktioner som fortfarande används men har sina säkerhetsbrister. C++17 introducerade std::filesystem
som en modernare och säkrare lösning för filhantering. Alternativ till temporära filer inkluderar in-memory datastrukturer eller databaser. Implementeringsvise är det viktigt att se till att temporära filer tas bort, antingen via kod eller genom att använda OS-funktioner som automatiskt rensar temp-katalogen.