Variable in Text einbinden?
-
Hey,
ist schon eine Weile her, dass ich das letzte mal mit C++ gearbeitet hab. Ich muss jetzt jedoch mal wieder ein kleines Programm schreiben und weiß gerade nicht mehr, wie ich eine Variable in einen Text einbinde.
Ich habe bisher folgendes:#include "stdafx.h" #include <Windows.h> int main() { int i = 0; while (i < 10000) { CopyFile("D:/Ich/Dokumente/Unreal Projects/Planet0/Content/Planet_Earth/Maps/0.umap", "D:/Ich/Dokumente/Unreal Projects/Planet0/Content/Planet_Earth/Maps/1.umap", 1); i++; } return 0; }
Ich will nun, dass in der Zieldatei (die zweite) das 1 durch i ersetzt wird (wenn i 2 soll die Datei 2.umap heißen. Wie geht das nochmal?
MfG
Timer
-
Hi,
-
Für CopyFile ist das insofern etwas unschön, da das eine Winapi-Funktion ist und daher nur C-Zeichenketten versteht. Daher muss man entweder eine Zeichenkette mit C-Funktionen zusammenbasteln (*grusel* kann ich nur von abraten) oder erst mit C++ die Zeichenkette basteln und dann in eine C-Zeichenkette umwandeln (etwas umständlich, aber einfach).
Das könnte zum Beispiel so aussehen:#include <string> // ... std::string file_name = "D:/Ich/Dokumente/Unreal Projects/Planet0/Content/Planet_Earth/Maps/" + std::to_string(i) + ".umap"; CopyFile("D:/Ich/Dokumente/Unreal Projects/Planet0/Content/Planet_Earth/Maps/0.umap", filename.c_str(), 1);
-
Danke
-
Und nochmal danke. Werde dann das zweite nehmen
-
SeppJ schrieb:
Für CopyFile ist das insofern etwas unschön, da das eine Winapi-Funktion ist und daher nur C-Zeichenketten versteht. Daher muss man entweder eine Zeichenkette mit C-Funktionen zusammenbasteln (*grusel* kann ich nur von abraten) oder erst mit C++ die Zeichenkette basteln und dann in eine C-Zeichenkette umwandeln (etwas umständlich, aber einfach).
Das könnte zum Beispiel so aussehen:#include <string> // ... std::string file_name = "D:/Ich/Dokumente/Unreal Projects/Planet0/Content/Planet_Earth/Maps/" + std::to_string(i) + ".umap"; CopyFile("D:/Ich/Dokumente/Unreal Projects/Planet0/Content/Planet_Earth/Maps/0.umap", filename.c_str(), 1);
Da kommen leider 3 Fehler:
Fehler C2660 "CopyFileA": Funktion akzeptiert keine 2 Argumente ConsoleApplication1 15
Fehler C2228 Links von ".c_str" müssen sich in einer Klasse/Struktur/Union befinden ConsoleApplication1 15
Fehler (aktiv) E0153 Der Ausdruck muss einen Klassentyp aufweisen. ConsoleApplication1 15
-
Einmal "file_name" und einmal "filename".
-
Und erneut danke ^^