rename modifizieren
-
mein aufgabe ist :
Modifizieren Sie „rename“ so, dass alle Dateinamen die für
eine Datei vergeben wurden, abgerufen werden können.
kann mir jemand helfen wie ich diese aufgabe lösen kann
ich weisse nicht wie ich anfangen soll
alles was ich verstanden habe ist neue Implimentierung der Fkt rename :ich habe diese code im Forum gefunden um zu prüfen aber ich weisse nicht wie ich rename implimentieren soll.
#include <iostream>
#include <string>
#include <stdio.h>
using namespace std;int main()
{
string name,name2;cout<<"Geben Sie den Namen der alten Datei ein: \n";
cin>>name;
cout<<"Geben Sie jetzt den neuen Namen ein: \n";
cin>>name2;rename (name,name2);
}danke im voraus
-
Bin mir zwar nicht sicher, ob ich die Fragestellung richtig verstanden hab aber
ich versuchs mal.
Du könntest einen vector<pair<string, string> > verwenden,
wobei pair<string, string> für eine Umbenennung steht:typedef std::pair<std::string, std::string> rename_sequence; typedef vector<RenameSequence> rename_sequences; rename_sequences rs; string srcfile, dstfile; // Dateinamen einlesen // Datei umbenennen rs.push_back(rename_sequence(srcfile, dstfile));So weißt Du in welcher Reihenfolge welche Datei in welche umbenannt wurde.
-
was ich machen soll, ist : die Funktion "rename" selbst implimentieren muss
rename sieht ja so aus :
int rename ( const char * oldname, const char * newname );und ich soll diese Funktion implimentieren so, dass alle Dateinamen die für
eine Datei vergeben wurden, abgerufen werden können (unter linux),das heißt unter Linux wenn ich den Befehl:
rename altname neuname(datei umbennenen)
wird diese datei umbennant, aber dafür behaltet er auch die alte name auch "altname".
-Erstens ich weisse nicht wie die Funktion rename überhaupt aussieht
-zweitens ich weisse nicht wie ich es weiter modifiziere.unter diese adresse kann man Funktionskopf sehen aber keine Implimentierung
http://www.cplusplus.com/reference/clibrary/cstdio/rename.html
-
Im Prinzip sollte erstmal geklärt werden wie überhaupt die Datei indiziert werden soll. Sprich wenn ich alle Dateinamen für eine Datei haben will frage ich dann nach dem Dateinamen vom Anfang, nach einer Inode-Nummer oder soll zu jedem Dateinenamen Vorgänger und Nachfolger aufgelistet werden? Kurz die Aufgabe ist für mich nicht vollständig.
-
ich gebe z.b ein beispiel dafür :
der Befehl rename kann man unter Dos benutzenC:\>dir ordner1 ordner2 ordner3C:\>rename ordner1 neuordner\\ hier wurde die ordner umbennant
C:\>cd ordner1 das system kann den angegebenen Pfad nicht finden.\\ hier kann ich "ordner1" nicht öffnen weil es umbennant wurde
aber in aufgabe wenn ich rename implimentiere soll diese ordner
geöffnen werden obwohl ich der name geändert habe.es muss irgend ein container oder wie sie gesagt haben soll zu jedem Dateinenamen Vorgänger und Nachfolger aufgelistet werden.