int(-Zähler) in char



  • Hallo,

    ich habe einen Integer-Wert (zählt bis 100) und der muss in char text[50] rein.
    Danach muss der text mit strcat(new,text); an new gehangen werden.

    Wie kriege ich den Zähler in den text ?????

    Danke für eure Hilfe.



  • Ich glaube eine Variable kann nicht "new" heißen, da new ein Schlüsselwort ist.

    Abgesehen davon, was genau willst du? Das das Character-Array von 1-50 die Werte 1-50 enthält? Das das gesamte Array zB die Zahl 49 in folgender Form aufnimmt:
    [4][9][\0][ ]...

    Oder wie genau willst du den Zähler im Text haben?

    MfG SideWinder



  • ich brauche fortlaufende Dateinamen.

    Im Moment behelfe ich mir mit strncat(new_file,"123456789",n) ... Nur sehen die Dateien dann z.B. so aus:

    file1
    file12
    file123

    geht zwar. Sieht aber ziemlich blöd aus.



  • Warum du da gleich 50 auf einem benötigst verstehe ich zwar nicht, aber:

    #include<string>
    #include<fstream>
    #include<vector>
    #include<sstream>
    
    // Anzahl der Dateinamen
    const unsigned long int cFilenames(100);
    
    // EDIT: Hier auch noch const gemacht
    // Grundlegender Dateiname
    const std::string BasicFileName="file";
    
    // Array mit Dateinamen - initialisieren mit dem Standardnamen (also dem vor der Zahl)
    std::vector<std::string> Filenames(cFilenames,BasicFileName);
    
    // Dateinamen erstellen
    for(unsigned long int i(0);i<cFilenames;++i)
    {
        std::ostringstream ostrstrm;
        ostrstrm<<i;
        Filenames[i]+=ostrstrm.str();
    }
    
    // EDIT:
    std::ofstream File1(Filenames[1].c_str());
    

    Sollte so funktionieren :).

    MfG SideWinder



  • Vielen Dank für deine Mühe.

    Habe mich eben im C-Forum umgeschaut.

    Mit sprintf(Ergebnis,"%s%d", meinText, meinInteger) schreiben hängen die meinText zusammen mit meinInteger in ein Array namens Ergebnis.

    Habs soeben ausprobiert. Funktioniert.

    Gibts für C++ nicht Vergleichbares ?????



  • doch

    #include <strstream>
    
    std::stringstream strstr;
    strstr << meinText << meinInteger << "blablabla";
    const char *Ergebnis = strstr.str().c_str();
    


  • Rooki schrieb:

    Vielen Dank für deine Mühe.

    Habe mich eben im C-Forum umgeschaut.

    Mit sprintf(Ergebnis,"%s%d", meinText, meinInteger) schreiben hängen die meinText zusammen mit meinInteger in ein Array namens Ergebnis.

    Habs soeben ausprobiert. Funktioniert.

    Gibts für C++ nicht Vergleichbares ?????

    Abgesehen davon, dass sprintf() in C++ auch funktioniert -> Siehe mein Posting -> Stringstreams.

    Wäre übrigens auch in der FAQ zu finden gewesen wie man eine Zahl in einen String umwandelt 🙄

    MfG SideWinder



  • Hi,

    <sstream> heißts aber. 🙄



  • Bin begeistert.



  • ach gott, ein kleiner fehler ab und zu passiert 🙄
    in strstream sind natürlich die alten strstreams (wenn überhaupt)


Anmelden zum Antworten