C++:
Tworzenie pliku tymczasowego
How to:
(“Jak to zrobić:”)
#include <iostream>
#include <filesystem>
#include <fstream>
int main() {
// Stwórz unikalną ścieżkę pliku tymczasowego
std::filesystem::path tempPath = std::filesystem::temp_directory_path() / "myapp_XXXXXX";
// Utwórz i otwórz plik tymczasowy
std::ofstream tempFile(tempPath);
// Sprawdź, czy plik został pomyślnie utworzony
if (tempFile.is_open()) {
std::cout << "Plik tymczasowy został utworzony: " << tempPath << std::endl;
// Użycie pliku...
tempFile.close(); // Zamknij plik
} else {
std::cerr << "Nie udało się utworzyć pliku tymczasowego!" << std::endl;
}
// Usuń plik tymczasowy
std::filesystem::remove(tempPath);
return 0;
}
W powyższym przykładzie, stworzyliśmy plik tymczasowy w katalogu dla plików tymczasowych i wykorzystaliśmy go do jakiegoś zadania, a następnie go usunęliśmy.
Deep Dive:
(“Dogłębna analiza:”)
W dawnych czasach programiści musieli ręcznie zarządzać tworzeniem i usuwaniem plików tymczasowych. C++17 wprowadziło std::filesystem
, co uprościło zarządzanie plikami i folderami. Możemy wykorzystać std::filesystem::temp_directory_path()
do znalezienia bezpiecznego miejsca dla plików tymczasowych różnych systemów operacyjnych, co czyni nasz kod przenośnym. Inne sposoby to m.in. użycie tmpfile()
dla C lub mkstemp()
dla systemów POSIX, które również tworzą i otwierają plik tymczasowy, ale są mniej elastyczne niż podejście C++17 z std::filesystem
.
See Also:
(“Zobacz również:”)
- Dokumentacja
std::filesystem
: https://en.cppreference.com/w/cpp/filesystem - Porównanie
std::filesystem
i C POSIX functions: https://arne-mertz.de/2017/03/filesystem-convenience-posix/ - Wykorzystanie
std::tmpfile
: https://www.cplusplus.com/reference/cstdio/tmpfile/