Okay, hier ist der Deal, ich nehme ein Intro in C++ - Klasse an meiner Universität und habe Probleme herauszufinden, wie man die Erweiterung einer Datei ändert. Zuerst sollten wir in einer .txt-Datei lesen und Wörter, Sätze, Vokale usw. zählen. Nun, ich habe das verstanden, aber der nächste Schritt ist, was mich beunruhigt. Wir sollen dann eine neue Datei erstellen, die den gleichen Dateinamen wie die Eingabedatei aber mit der Endung .code anstelle von .txt verwendet (in dieser neuen Datei sollen wir dann die Zeichenkette durch Hinzufügen von Zufallszahlen zu deren ASCII-Code codieren) Zeichen, wenn Sie interessiert waren). Als Anfänger in der Programmierung bin ich mir nicht ganz sicher, wie ich das machen soll. Ich verwende den folgenden Code, um zunächst die Eingabedatei zu erhalten:Wie ändern Sie die in einer Zeichenfolge in C++ gespeicherte Dateinamenerweiterung?
cout << "Enter filename: ";
cin >> filename;
infile.open(filename.c_str());
Ich gehe davon aus, eine neue Datei zu erstellen, ich werde so etwas wie werden:
outfile.open("test.code");
Aber ich werde nicht wissen, was der Dateiname ist, bis der Benutzer es eingibt, also kann ich "test.txt" nicht sagen. Wenn jemand weiß, wie man diese Erweiterung ändert, wenn ich eine neue Datei erstelle, würde ich das sehr schätzen!
Okay, ich denke, dass die Optionen eher dem entsprechen, wonach ich gesucht habe, wie wir gerade über String-Methoden gelernt haben. Danke für die Eingabe! –
Bessere rfind(), da es das letzte "." anstelle der ersten in dem Fall, dass 'a.b.c.txt' ist ein gültiger Dateiname –
.open() nimmt eine const char *, nicht ein std :: sting leider. – MSalters