zeichen an zeichenkette hängen



  • mika schrieb:

    hi, nimm doch einfach

    char zeichen[1];
    

    😃

    😕 ich verstehe den Witz nicht, falls es einer sein soll...



  • also ich habs getestet, bei mir geht das 😃
    na die strcat-funktion will doch als 2.parameter nen char-pointer haben.
    und char x[1] ist ein pointer auf ein char 😉



  • mika schrieb:

    hi, nimm doch einfach

    char zeichen[1];
    

    😃

    Ja könnte ich natürlich machen, aber was du nicht wissen kannst, ist dass ich vor dem Verketten eine Zahl in ein Zeichen umwandle und dies mit char[1] nicht möglich ist. So ist dies nicht zulässig: zeichen = (char[1]) zahl;
    Weißt du vielleicht wie man solche Konvertierungen durchführen kann?

    Gruß 🙂



  • strcat funzt nur mit char[]/char*
    du kannst auch nicht strcat(wort, &zeichen); machen, weil nach &zeichen kein \0 stehen muss.



  • 👍 Lesco
    ja, wieso verwendest du nicht einfach strings?



  • mika schrieb:

    also ich habs getestet, bei mir geht das 😃

    Deswegen ist es aber immer noch nicht gut.



  • @Walli
    das hab ich auch erst im nachhinein gemerkt 🙄



  • bsp mit strings

    string wort="Test ";
    int i=65; //deine Zahl
    
    wort+=i;
    
    cout << wort << endl; //wort = "Test A"
    
    return 0;
    


  • Hi, nochmal danke für eure Antworten!
    Ein kleines Problem habe ich noch. Bei dieser Anwendung:

    cout <<wort<<endl;
    

    kommt folgender Fehler beim kompilieren:

    Binaerer Operator '<<' : Kein Operator definiert, der einen rechtsseitigen Operator vom Typ 'class std::basic_string<char,struct std::char_traits<char>,clas
    s std::allocator<char> >' akzeptiert (oder keine geeignete Konvertierung moeglich)

    wie akzeptiert der Kompailer diesen Ausdruck?



  • hm, ich nutze VC++6.0, da hab ich nur

    #include <string>
    

    geschrieben, und da hat es gefunzt.

    du hast bestimmt die <string.h> included, da kam der fehler bei mir auch...

    nimm einfach die <string>, dann geht alles seinen geregelten 😃



  • [:)] schrieb:

    Hi, nochmal danke für eure Antworten!
    Ein kleines Problem habe ich noch. Bei dieser Anwendung:

    cout <<wort<<endl;
    

    kommt folgender Fehler beim kompilieren:

    Binaerer Operator '<<' : Kein Operator definiert, der einen rechtsseitigen Operator vom Typ 'class std::basic_string<char,struct std::char_traits<char>,clas
    s std::allocator<char> >' akzeptiert (oder keine geeignete Konvertierung moeglich)

    wie akzeptiert der Kompailer diesen Ausdruck?

    cout << wort.c_str() <<endl;
    

Anmelden zum Antworten