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,

    to_string


  • Mod

    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 ^^


Anmelden zum Antworten