Conversion en chaine [VC] - Programmation
Marsh Posté le 28-06-2001 à 10:56:50
sprintf( machaine, "%I64d", mon-int-64 );
Pour un entier sur 64 bits, tu utilises le prefixe I64 avant le s'indicateur de type usuel (d, i, o, u, x, ou X), de la meme maniere que tu utiliserais l pour un long.
A+,
Marsh Posté le 28-06-2001 à 11:21:29
bud8 a écrit a écrit : Bonjours , Je cherche comment enregitrer un __int64 dans une chaine de carractere Merci |
sinon, t'as aussi itoa(var_num, var_char, base) ;
et faut faire #include stdlib.h
ps: base, en général c'est base 10, mais tu peux vouloir ta chaine de caractères en base héxa (16) ou binaire (2) ou octale (8)...
Marsh Posté le 28-06-2001 à 11:45:48
Ca marche toujours pas
Ben la solution de Gilou ne marche pas car elle fait planter mon debugger.
Et la solution de rufo marchepour un int mais pas pour un int64, le type __int64 n'est pas accepte et en le convertissant, je perds des infos .
Merci
Marsh Posté le 28-06-2001 à 12:39:35
Ce que je t'ai file comme indications venait directos de la doc microsoft.
Il y a aussi les fonctions suivantes:
char *_i64toa( __int64 value, char *string, int radix );
char * _ui64toa( unsigned _int64 value, char *string, int radix );
Convert an integer to a string.
The _itoa, _i64toa, and _ui64toa function convert the digits of the given value argument to a null-terminated character string and stores the result (up to 33 bytes) in string. If radix equals 10 and value is negative, the first character of the stored string is the minus sign ( ? ).
A+,
Marsh Posté le 28-06-2001 à 14:27:22
Merci mais j'ai essaye et ca marche pas .
Je me retrouve avec un pb d'allocation memoire (surement un pb de pointeur) mais j'arrive pas a le resoudre.
voici un exemple de ce que je fais :
char* machaine=NULL;
__int64 mon_64=0;
mon_64=tableau[i];
_i64toa(mon_64, machaine, 10) ;
ceci ce trouve dans une boucle for avec un tableau de __int64
Marsh Posté le 28-06-2001 à 14:42:57
char MaChaine[34]; ça serait pas mieux ? Je ne pense pas que le compilateur alloue de lui même de la mémoire. On passe le pointeur sur la chaîne, mais si y a rien "derrière", il ne sait pas où écrire.
Marsh Posté le 28-06-2001 à 14:48:09
Merci, ca marche, T'avais raison !!!!
@+
Marsh Posté le 28-06-2001 à 10:42:09
Bonjours ,
Je cherche comment enregitrer un __int64 dans une chaine de carractere
Merci
---------------
BUD...