"warning: format '%I64i' expects type 'int', but argument 7 has type 'long long int"
Version imprimable
"warning: format '%I64i' expects type 'int', but argument 7 has type 'long long int"
Une question pourquoi le code ci-dessous ne fonctionne pas
Code:
1
2
3
4
5
6
7
8
9
10 #ifdef __WIN32__ #define LLONG %I64i #else #define LLONG %lld #endif long long int LLi=2000000000; LLi*=100; printf("LLONG\n",LLi);
Oui tu as raison, j'ai redéfinie __WIN32__ chez moi par commodité de maniére à pouvoir dans mes code l'iniber ou non à convenance sans modifier le systéme
Le problème avec ces macros, c'est quand tu te retrouves avec des TCHAR ou simplement de l'unicode.
Car aucun compilo à ma connaissance n'accepte de reconnaître ceci comme une grande chaîne unicode:
...Il faut rajouter le L à chaque fois.Code:L"blabla" "%lli" "blabla"
PS: Pourquoi utiliser %lld mais %I64i ? Ça marche aussi bien avec un d, vous savez...
ok pour l'unicode, sinon je pige pas ton PS
Mon PS dit: Si tu utilises %lld, alors utilise %I64d aussi (plutôt que %I64i).
Ha ok, %I64i ou %I64d provoque le même soucie
OK merci. Y'a plus qu'à prier pour que M$ revienne sur sa décision de s'asseoir sur C99...
Qu'entends tu exactement par 'tu n'as pas le droit...'
ok je vois