Ich möchte die Datei mit einem bestimmten Namen erstellen. Wenn es bereits existiert, dann möchte ich eine andere Datei mit dem Namen um eine Nummer angehängt erstellen. Zum Beispiel möchte ich die Datei log.txt
erstellen, aber es ist bereits da. Dann werde ich neue Datei erstellen log1.txt
, log2.txt
, log3.txt
....
Gibt es eine gute Möglichkeit, in die Datei Duplizierungsinformationen aufzunehmen?In doppelte Dateiinformationen extrahieren
1
A
Antwort
1
einfach überprüfen, ob die Datei vorhanden ist, wenn ja, überprüfen Sie für die nächste und so weiter, wie in diesem Code:
#include <sys/stat.h>
#include <iostream>
#include <fstream>
#include <string>
/**
* Check if a file exists
* @return true if and only if the file exists, false else
*/
bool fileExists(const std::string& file) {
struct stat buf;
return (stat(file.c_str(), &buf) == 0);
}
int main() {
// Base name for our file
std::string filename = "log.txt";
// If the file exists...
if(fileExists(filename)) {
int i = 1;
// construct the next filename
filename = "log" + std::to_string(i) + ".txt";
// and check again,
// until you find a filename that doesn't exist
while (fileExists(filename)) {
filename = "log" + std::to_string(++i) + ".txt";
}
}
// 'filename' now holds a name for a file that
// does not exist
// open the file
std::ofstream outfile(filename);
// write 'foo' inside the file
outfile << "foo\n";
// close the file
outfile.close();
return 0;
}
, die ein nicht-genommen Namen finden und eine Datei mit diesem Namen erstellen, schreibe 'foo' hinein und schließe die Datei schließlich.
Ich wurde für den Code von here inspiriert.
+0
Oh, danke an deine Antwort. Vielen Dank!! – hellowl
Verwandte Themen
- 1. Dateiinformationen in Variablen importieren?
- 2. Access-Formular hochgeladen Dateiinformationen
- 3. Get Dateiinformationen Form Verzeichnis Laravel
- 4. Wie bekomme ich JAD-Dateiinformationen in Blackberry?
- 5. Doppelte Daten beim Extrahieren aus einer Datei in C++
- 6. Warum gibt es doppelte Dateien beim Extrahieren von tar.gz Archiv
- 7. .txt Dateiinformationen in RESTful API URL ziehen [Ruby]
- 8. COM-Schnittstelle für den Zugriff auf Dateiinformationen (Titel, Thema, Autor)?
- 9. Abrufen von Dateiinformationen (Zugriff/geänderte Daten) vom FTP-Server (C#)
- 10. Letzte Änderung und andere Dateiinformationen vom Remote-Server mit PHP
- 11. Speichern von Dateiinformationen für eine WPF-Baumansicht (C#)
- 12. Extrahieren Sie zwei doppelte Werte aus String mit RegEx in Java
- 13. Doppelte
- 14. Doppelte Pufferung in WPF?
- 15. Doppelte Referenzvariable in Java
- 16. Doppelte Werteinfügung in Hashmap
- 17. Doppelte Spaltenname in Schienen
- 18. Doppelte Einträge in Tabellen
- 19. doppelte Verbindungszeichenfolge in web.config
- 20. Doppelte Multiplikation in C#
- 21. Doppelte Elemente in java.util.Set
- 22. Doppelte Zeilen in Oracle
- 23. Doppelte Daten in SQL
- 24. Doppelte Pakete in Java?
- 25. Doppelte Ordner in GitHub
- 26. Doppelte Namen in CoreData?
- 27. Doppelte Benennung in Klassenname
- 28. doppelte Werte in hash
- 29. Doppelte Listennamen in R
- 30. Doppelte Schlüsselausnahme von Entity Framework?
Warum möchten Sie nicht nur die Dateiexistenz testen? Zum Beispiel durch Aufruf von 'stat()'. – GMichael
Oh Danke !!!!!!!! – hellowl