Problem mit printw()



  • Hallo!

    Ich schreibe gerade ein Programm, bei dem ich die Ausgaben mit curses verwalte. Dabei müsste ich eine int-Variable mit printw ausgeben:

    ...
    int anzahlFisch=DatenEinlesen("Anzahl der Fische",x*y/2,5);
    ...
    printw(anzahlFisch);
    ...
    

    Daraufhin bekomme ich folgende Fehlermeldung:

    hallowelt.c:103: Fehler: invalid conversion from `int' to `const char*'
    hallowelt.c:103: Fehler: initializing argument 1 of `int printw(const char*, ...)'

    Kann ich eine int-Variable iregendwie mit printw() ausgeben??

    Vielen Dank im Voraus...



  • Wieso liest du nicht die Dokumentation? man: printw(3)



  • Weil da nicht mehr drin steht, als ich schon weiß, nämlich dass printw const char* übergeben werden sollte. Ich habe aber eine int-Variable, aber irgendwie muss es doch möglich sein, dass ich die Variable trotzdem ausgeben kann, oder????



  • Das erste Argument muss ein Formatierungsstring sein. Sowas wie "Anzahl der Fische %d %d\n".



  • lisa2 schrieb:

    Weil da nicht mehr drin steht, als ich schon weiß, nämlich dass printw const char* übergeben werden sollte.

    Dann hast du aber nicht sehr weit gelesen. Der erste Satz:

    The printw, wprintw, mvprintw and mvwprintw routines are
    analogous to printf [see printf(3)].

    printf kennst du aber? Wenn nicht, da gibts sogar Beispiele in der Manpage.



  • Ah ja!! Jetzt klappt`s. Hab ganz vergessen, dass ich bei printw dasselbe machen könnte wie bei printf 🙄 🙄


Anmelden zum Antworten