#include <stdio.h>
(oder <cstdio>
) und rename
(oder std::rename
) verwenden:
Entgegen der landläufigen Meinung ist dies in der Standardbibliothek enthalten und ist bis zu einem gewissen Punkt übertragbar - obwohl der zulässige Inhalt der Zeichenfolgen natürlich vom Zielsystem abhängt.
Die Dateisystemunterstützung ist insbesondere in der C ++ - Standardbibliothek nicht vorhanden. Wie Jerry Coffins Antwort zeigt, gibt es tatsächlich eine Umbenennungsfunktion in stdio (im Gegensatz zu der weit verbreiteten Meinung, die ich geteilt habe). Es gibt jedoch viele dateisystembezogene Appliances, die von der Standardbibliothek nicht abgedeckt werden, daher die Existenz von Boost :: Dateisystem (insbesondere das Bearbeiten von Verzeichnissen und das Abrufen von Informationen über Dateien).
Dies ist eine Design-Entscheidung, um C ++ weniger eingeschränkt zu machen (d. h. es kann auf einer breiten Palette von Plattformen kompiliert werden, einschließlich eingebetteter Systeme, wo die Idee einer Datei nicht existiert).
Um Dateioperationen auszuführen, gibt es zwei Möglichkeiten:
Verwenden Sie die API des Zielbetriebssystems
Verwenden Sie eine Bibliothek, die plattformübergreifend eine einheitliche Oberfläche bietet
Boost :: Dateisystem ist eine solche C ++ - Bibliothek abstrahiert die Unterschiede der Plattform.
Sie können das Boost :: Dateisystem :: rename verwenden um eine Datei umzubenennen.