[Gelöst] Formatstring für unsigned long long int



  • Hi Forumsbesucher,

    weiß jetzt nicht, ob ich das auf meinen Compiler schieben muß, aber wenn ich printf lt. Reference richtig interpretiere, müßte das so lauten:

    printf("%lu\n", runtime); // runtimetyp = unsigned long long int
    

    Wird mir aber mit

    warning #2234: Argument 2 to 'printf' does not match the format string; expected 'int' but found 'unsigned long long int'.
    

    benörgelt.

    Weiß jemand, wie's richtig geht?

    Danke für's Lesen und Antworten! 😃



  • Es muss heißen

    printf("%ll\n", runtime); // runtimetyp = unsigned long long int
    

    in der manpage steht das folgende für den Formatparameter u:

    The  unsigned  int  argument is converted to unsigned decimal (u)
    

    Was soll das bedeuten, ich verstehs nicht wirklich^^



  • C99 definiert für unsigned long long "llu".
    Außerhalb, also z.B. bei MSVC hast du u.U. mehr Glück mit I64u.



  • Wutz schrieb:

    C99 definiert für unsigned long long "llu".
    Außerhalb, also z.B. bei MSVC hast du u.U. mehr Glück mit I64u.

    Das haut hin, hab' mich schon echt geschämt für so 'ne Frage. 🙄
    Fragt mich besser nicht, warum jemand sowas braucht, ich hab' schon die nächste Dimension des Schiefgehens vor Augen.

    Aber erstmal Danke, Wutz, Du hast gehelft!
    😃


Anmelden zum Antworten