Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2287 connectés 

  FORUM HardWare.fr
  Programmation
  C

  [C] l'inverse de atoi() ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] l'inverse de atoi() ?

n°906078
3xc4l18ur
question = ( to ) ? be : ! be;
Posté le 23-11-2004 à 21:54:01  profilanswer
 

Comment je fais pour que mon entier (disons 4) devienne "4"
bref je cherche l'inverse de atoi()

mood
Publicité
Posté le 23-11-2004 à 21:54:01  profilanswer
 

n°906079
Joel F
Real men use unique_ptr
Posté le 23-11-2004 à 21:54:58  profilanswer
 

snprintf ...

n°906090
3xc4l18ur
question = ( to ) ? be : ! be;
Posté le 23-11-2004 à 22:03:14  profilanswer
 

euhhh merci

n°906120
3xc4l18ur
question = ( to ) ? be : ! be;
Posté le 23-11-2004 à 22:32:49  profilanswer
 

Mais en fait je veux ecrire dans un fichier...
 
Je veux une concaténation de "azazaz " + entier + " zezeze"


Message édité par !cricri le 23-11-2004 à 22:33:00
n°906124
cris56
Posté le 23-11-2004 à 22:35:17  profilanswer
 

fprintf

n°906136
3xc4l18ur
question = ( to ) ? be : ! be;
Posté le 23-11-2004 à 22:50:37  profilanswer
 

euh et je met quoi en premier argument a fprintf ?  
parceque moi j'ai un file descriptor apres mon open... et fprintf me reclame un FILE


Message édité par !cricri le 23-11-2004 à 22:51:02
n°906143
cris56
Posté le 23-11-2004 à 22:56:37  profilanswer
 

alors snprintf
 
tu es obligé d'utiliser les i/o posix ?

n°906145
3xc4l18ur
question = ( to ) ? be : ! be;
Posté le 23-11-2004 à 22:57:17  profilanswer
 

oui

n°906147
blurk
Posté le 23-11-2004 à 22:58:42  profilanswer
 

1) Pourquoi tu n'utilises pas fopen ?
2) Tu peux avoir un FILE* à partir d'un file descriptor avec fdopen.
3) Sinon t'utilises pas fprintf
 
Petit retard à l'allumage :)


Message édité par blurk le 23-11-2004 à 22:59:22
n°906151
matafan
Posté le 23-11-2004 à 23:02:13  profilanswer
 

Dans la glibc tu as dprintf qui prend un file descriptor au lieur d'un FILE *. Mais ce n'est pas portable. Sinon tu peux associer un stream a ton file descriptor en faisant un fdopen(). Ou bien tu utilises directement fopen() au lieu de open().
 
Edit : grille pendant que je regardais les man


Message édité par matafan le 23-11-2004 à 23:03:28
mood
Publicité
Posté le 23-11-2004 à 23:02:13  profilanswer
 

n°907426
spokup
Posté le 25-11-2004 à 09:25:23  profilanswer
 

char szBuffer[256];
int a=162;
 
sprintf(szBuffer "azazaz %d zezeze", a);
 
fprintf c'est our ecrire dans un fichier c'est pour ça qu'il te demande un FILE*
 
fprintf f = file
sprintf s = string
 


Message édité par spokup le 25-11-2004 à 09:27:24
n°907452
Joel F
Real men use unique_ptr
Posté le 25-11-2004 à 10:01:26  profilanswer
 

snprintf :o ca evite de se tirer une balle dans le pied :o

n°907472
gilou
Modérateur
Modosaurus Rex
Posté le 25-11-2004 à 10:22:26  profilanswer
 

On trouve parfois itoa, qui n'est pas standard, sur certains environnement Unix.
 
J'en ai trouvé cette implem sur le web:
 

Code :
  1. void itoa(int num, int base, char *numStr) {
  2.    char digitString[37] = "0123456789ABCDEFGHIJKLMNIOPQRSTUVWXYZ";
  3.    int quotient, lastDig, firstDig, temp;
  4.    quotient = num;
  5.    lastDig = 0;
  6.    if (num < 0)
  7.       quotient = -num;
  8.    else
  9.       quotient = num;
  10.    do {
  11.       numStr[lastDig] = digitString[quotient % base];
  12.       quotient = quotient / base;
  13.       lastDig++;
  14.    } while(quotient != 0);
  15.    if (num < 0) {
  16.       numStr[lastDig] = '-';
  17.       lastDig++;
  18.    }
  19.    numStr[lastDig] = 0;
  20.    firstDig = 0;
  21.    while (firstDig < lastDig) {
  22.       lastDig--;
  23.       temp = numStr[firstDig];
  24.       numStr[firstDig] = numStr[lastDig];
  25.       numStr[lastDig] = temp;
  26.       firstDig++;
  27.    }
  28. }


 
Mais il suffit de passer en parametre un argument numStr trop petit pour que ca merdouille, d'ou la reccomandation de ne pas l'utiliser, sauf si on veut s'amuser avec base exotique.
A+,


Message édité par gilou le 25-11-2004 à 10:26:04

---------------
There's more than what can be linked! --  Le capitaine qui ne veut pas obéir à la carte finira par obéir aux récifs. -- Il ne faut plus dire Sarkozy, mais Sarkozon -- (╯°□°)╯︵ ┻━┻
n°907482
3xc4l18ur
question = ( to ) ? be : ! be;
Posté le 25-11-2004 à 10:35:11  profilanswer
 

spokup a écrit :

char szBuffer[256];
int a=162;
 
sprintf(szBuffer "azazaz %d zezeze", a);
 
fprintf c'est our ecrire dans un fichier c'est pour ça qu'il te demande un FILE*
 
fprintf f = file
sprintf s = string


 
OK merci j'ai compris
 
Merci a tous de vos reponses


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  [C] l'inverse de atoi() ?

 

Sujets relatifs
[PHP/MySQL] affichage dans l'ordre inverse de la table ?[Résolu] Menu déroulant inversé en CSS
RegEx. c'est quoi pour trouver l'inverse ?[SQL] requette avec un LIKE mais inversé
convertir: hpgl vers gerber ou l'inverse[SQL] Tri inversé en SQL.
[PHP] Fonction inverse de nl2br ?Fonction "inverse" de date : Wed, 14 jan -> 2004-01-14
Passage MySql à fichier SYLK (compatible excel) et inverse (PHP)Help : atoi... ou la convertion de char en int.
Plus de sujets relatifs à : [C] l'inverse de atoi() ?


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)