2 Char Arrays miteinander verbinden



  • Hallo!
    Also mein Code:

    #include <iostream>
    #include <fstream>
    
    using namespace std;
    
    int main() {
    
    	ofstream anlegen;
    
    	double i = 0;
    	char dateiname[100];
    	int ordner;
    
            While(true)
            {
            i++;
    	itoa(i, dateiname, 10);
    	anlegen.open("c:\\Programme\\C++\\".dateiname); // Hier ist der Fehler
    	anlegen << "abc";
    	anlegen.close();
    
            }
    
            return 0;
    }
    

    So, ich möchte hier aus gag tausende von dateien erstellen lassen.
    Meine Frage ist nun (Da wo "HIer ist der Fehler" steht), wie kann ich an eine zeichenfolge ("") eine variable anhängen??
    Ich bitte um eure unterstützung!

    Vielen Dank im Voraus!





  • danke für die schnelle antwort......und wie kann ich nun strncat() in meinem programm anwenden?



  • char pathname[100] = "c:\\Programme\\C++\\";
    strcat(pathname,dateiname);
    anlegen.open(pathname);
    

    Noch eleganter ist es natürlich, wenn du anstelle der char-Arrays std::string verwendest - die kannst du mit + zusammenfügen (nur zur Übergabe an open() mußt du dann per c_str() das drunterliegende char-Array besorgen):

    string dateiname;
    ...
    anlegen.open(("c:\\Programme\\C++\\"+dateiname).c_str());
    


  • =>

    #include <fstream>
    #include <sstream>
    
    int main() 
    {
        for (unsigned int i = 0; i < 100; ++i)
        {
            std::ostringstream ss;
            ss << "C:\\Programme\\C++\\" << i << ".txt";
            std::ofstream file_stream(ss.str().c_str(), std::ios::out);
            if (file_stream) 
            {
                file_stream << "ABCDEFGHIJKLMNOPQRSTUVWXYZ" << std::endl;
                file_stream << "abcdefghijklmnopqrstuvwxyz" << std::endl;
                file_stream << "0123456789" << std::endl;
            }
         }
    }
    

Anmelden zum Antworten