sprintf statt itoa



  • Hi,

    ich hatte Projektaufgabe bearbeitet, bei der ich jetzt noch nachbessern muss. Das Problem ist, dass ich itoa für eine Int-to-String Methode benutzt habe, und das nicht ANSI-C-Standard ist.
    Also wollte ich das nun mit sprintf machen, aber das funktioniert gar nicht!
    Ich habe jetzt erst einmal das hier probiert:

    char str[100];
        int i = 0;
        cout << sprintf(str, "%d", i);
    

    Da schmeißt er mir 1 raus. Häh???
    Die stdio.h habe ich auch includet.
    Kann mir jemand von Euch sagen, wo da mein Fehler ist?
    Vielen Dank, Ozzy



  • Ozzy schrieb:

    char str[100];
        int i = 0;
        cout << sprintf(str, "%d", i);
    

    probier's so:

    char str[100];
        int i = 0;
        sprintf(str, "%d", i);
        cout << str << endl;
    


  • Willst du i ausgeben? Oder brauchst du den string danach noch im Programm?

    Für ersteres wäre das hier die einfachste Variante:

    int i = 0;
    cout << i << endl;
    


  • Hi,

    vielen Dank, jetzt hat alles so funktioniert; dachte, er würde mir, so wie bei itoa, gleich den Wert zurückgeben können...

    MfG, und noch einmal vielen Dank, Ozzy


Anmelden zum Antworten