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

  FORUM HardWare.fr
  Programmation
  C

  [C] transformer un int en char

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] transformer un int en char

n°505458
beef02
Posté le 02-09-2003 à 17:54:57  profilanswer
 

bonjour à tous
alors voila mon probleme est le suivant, je dosi lancer une commande "system()" vers un programme, mais avec un paramatre qui est un entier.
comme dans la fonction system on ne peut pas lui passer de variable en argument, j'ai trouvé la solution de concatener 2 char, un avec la commande et l'autre avec l'argument.
mais je ne sais pas commetn convertir mon int en char pour le concatener.
merci de votre aide

mood
Publicité
Posté le 02-09-2003 à 17:54:57  profilanswer
 

n°505463
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 02-09-2003 à 17:56:27  profilanswer
 

man itoa()
 
edit: Taz, pas taper [:ddr555]


Message édité par Harkonnen le 02-09-2003 à 17:57:00

---------------
J'ai un string dans l'array (Paris Hilton)
n°505480
VisualC++
J'va y penser ...
Posté le 02-09-2003 à 18:01:11  profilanswer
 

Recherche y a plein de post en parlant
 
Puis autre version que itoa (avec un desoel Taz si c pas le meilleur)

template <class T>
std::string xToString(const T& t) {
 try {
  std::basic_ostringstream<char> o;
  o << t;
  return o.str();
 }
 catch(...) {
  return std::string(" - Erreur xToString - " );
 }
}

 
Erf merde cat C et pas C++, desole :(


Message édité par VisualC++ le 02-09-2003 à 18:05:32
n°505500
Taz
bisounours-codeur
Posté le 02-09-2003 à 18:07:32  profilanswer
 

Code :
  1. char commande[une_taille_qui_te_va]; // ou malloc
  2. sprintf(commande, "%s %d", "cmd", 42);
  3. sprintf(commande, une_taille_qui_te_va, "%s %d", "cmd", 42); /* version qui évite l'overflow */
  4. system(commande);

n°505504
Taz
bisounours-codeur
Posté le 02-09-2003 à 18:09:54  profilanswer
 

Harkonnen a écrit :

man itoa()
 
edit: Taz, pas taper [:ddr555]

qui n'est pas standard comme chacun sait, donc pas disponible partout (moi je l'ai pas)
 
solution générique, passe partout, sure -> s(n)printf

n°505551
beef02
Posté le 02-09-2003 à 18:31:17  profilanswer
 

Taz a écrit :

Code :
  1. char commande[une_taille_qui_te_va]; // ou malloc
  2. sprintf(commande, "%s %d", "cmd", 42);
  3. sprintf(commande, une_taille_qui_te_va, "%s %d", "cmd", 42); /* version qui évite l'overflow */
  4. system(commande);




je ne comprends pas bien ton systeme
que fait la fct sprintf?

n°505555
Taz
bisounours-codeur
Posté le 02-09-2003 à 18:34:01  profilanswer
 

elle imprine comme printf, sauf que là, elle le fait dans une chain e et pas dans un flux

n°505562
beef02
Posté le 02-09-2003 à 18:42:34  profilanswer
 

voila je viens de tester et celà fonctionne bien avec cette ligne:
sprintf(commande, "%s %d", "cmd", 42);
 
mais celle çi ne va pas, il y a trop d'argument selon le compilateur:
snprintf(commande, une_taille_qui_te_va, "%s %d", "cmd", 42);


Message édité par beef02 le 04-09-2003 à 10:30:39
n°505565
Taz
bisounours-codeur
Posté le 02-09-2003 à 18:43:34  profilanswer
 

beef02 a écrit :


mais celle çi ne va pas, il y a trop d'argument selon le compilateur:
sprintf(commande, une_taille_qui_te_va, "%s %d", "cmd", 42);  

bah t'as un compilateur complètement obsolète et c'est tout

n°505574
beef02
Posté le 02-09-2003 à 18:52:06  profilanswer
 

ben non je ne pense pas  
g visual c++ 6

mood
Publicité
Posté le 02-09-2003 à 18:52:06  profilanswer
 

n°505587
Taz
bisounours-codeur
Posté le 02-09-2003 à 19:01:30  profilanswer
 

beef02 a écrit :

ben non je ne pense pas  
g visual c++ 6

tu penses très très mal alors

n°505598
VisualC++
J'va y penser ...
Posté le 02-09-2003 à 19:06:16  profilanswer
 

beef02 a écrit :

ben non je ne pense pas  
g visual c++ 6


 
Cherche 2 sec dans la doc et tu trouveras la version de VC++

n°507081
leneuf22
Posté le 04-09-2003 à 10:29:03  profilanswer
 

Code :
  1. sprintf(commande, "%s %d", "cmd", 42);
  2. snprintf(commande, une_taille_qui_te_va, "%s %d", "cmd", 42);


Message édité par leneuf22 le 04-09-2003 à 10:30:14
n°507086
Taz
bisounours-codeur
Posté le 04-09-2003 à 10:30:49  profilanswer
 

leneuf22 a écrit :

Code :
  1. sprintf(commande, "%s %d", "cmd", 42);
  2. snprintf(commande, une_taille_qui_te_va, "%s %d", "cmd", 42);



oooooooooooops


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

  [C] transformer un int en char

 

Sujets relatifs
[VC++] char FAR *toto ?! kesako ?[MySQL] type char et norme SQL
[java] Pb: transformer IHM en appletsolution pour transformer les é en &eacute;
[C] Ajout d'un char en fin de chaine en bouclecomment convertir un char en int ??
Convertir un char en const char* ?access transformer un etat en pdf via vb
[C]Probleme de char et stringTransformer/Intégrer un XLS dans une base SQL/mySQL
Plus de sujets relatifs à : [C] transformer un int en char


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR