[Aide] Variable C++
Heu possible piste : le format de la table ?
(14-06-2011 23:58)totomakers a écrit :  Heu possible piste : le format de la table ?

Nop, j'affichais la requête dans mangos, et le count n'était pas correct Clin

Cordialement,
MacWarrior.
C'est semble être un petit buffer overflow. time_t est un type qui derrière correction plus ou moins à long signed int. En gros 2 fois la taille d'un int. (cela dépend beaucoup de la plateforme)
Le truc c'est que lorsque tu utilises ce code en placant le timestamp avant :
Code :
(`timestamp`,`count`) VALUE (%d, %d)
Vu que ton timestamp est de type %ld et non %d, il va empiéter sur le prochaine %d, celui du count.
Dans l'autre sens l'empiètement ne se fais pas ressentir directement.

Voilà une explication "en très très gros". Met les bon symboles dans tes *printf pour tes types et tu n'auras pas ce genre de problème.
%u pour countplayer car c'est un UNSIGNED int 32, et %ld car c'est un time_t.

Le type des variables a une importance certaines car cela permet au programme de savoir combien de bit il va devoir lire sur la pile pour chaque argument.
Et mac mon message tu osef ? ...
(15-06-2011 18:31)Morphau a écrit :  Et mac mon message tu osef ? ...
J'osef pas, j'ai juste pas eu le temps d'ouvrir un fichier .cpp depuis que j'ai posté la demande d'aide :/
Ainsi, je ne peux pas te répondre Erf

Cordialement,
MacWarrior.
oki Hihi je disais pas ça méchamment par contre je tien à préciser Smile
Ben perso j'affiche un int avec un %u ...
Et pour les int %i marche aussi .
(03-07-2011 13:09)Tibec a écrit :  Et pour les int %i marche aussi .

int => %i ou %d
uint => %u

Voir : http://www.cplusplus.com/reference/clibr...io/printf/ Smile
Un exemple que %u et %d ne sont pas les mêmes :
[code=c]
#include <stdio.h>

int main(int argc, char *argv[]) {
int a = 0xFFFFFFFE;
int b = -15;

printf("a(%%d) = %d, a(%%u) = %u\n", a, a);
printf("b(%%d) = %d, b(%%u) = %u\n", b, b);
return 0;
}
[/code]

Retourner en haut Accueil