Fonction predefinie en C

touf_truc Messages postés 57 Date d'inscription   Statut Membre Dernière intervention   -  
mamiemando Messages postés 33778 Date d'inscription   Statut Modérateur Dernière intervention   -
bonsoir;
esque vous pouvez m'aider a trouver les fonctions predefinies qu'elles converti les entiers en chaine de caractere et l'inverse.
merci
A voir également:

2 réponses

Stupeflip Messages postés 391 Date d'inscription   Statut Membre Dernière intervention   94
 
Bonsoir !

Pour passer d'un char à un int, tu peux faire un atoi.
Pour passer d'un int à un char, tu peux lui donner sa valeur ASCII en int et l'utiliser en char. En pratique tu lui rajoutes 30.

Exemple :
int valeur_int=2;
int valeur_char=30+valeur_int;
printf("%c",valeur_char);


Ca va t'afficher '2' et non 32 :) Ca marche dans l'autre sens mais atoi le fait automatiquement.
0
touf_truc Messages postés 57 Date d'inscription   Statut Membre Dernière intervention   1
 
merci .
alors voici mon exemple qu'il fonction correctement
esque je peut ecrire la fonction de façon recurcive.

#include<string.h>
#include<stdio.h>
#include<stdlib.h>
int miroir(int x)
{
char buffer1[100];
char buffer2[100];
int n,i;
sprintf(buffer1,"%d",x);
n=strlen(buffer1);
// Recopier de droite à gauche
for(i=0;i<n;++i)
buffer2[n-1-i]=buffer1[i];
return(atoi(buffer2));
}
main()
{
int x;
printf("\n Introduire un nombre : ");
scanf("%d",&x);
printf("\n %d | %d",x,miroir(x));
}
0
Stupeflip Messages postés 391 Date d'inscription   Statut Membre Dernière intervention   94
 
Tu veux dire faire cette ligne-là de façon récursive ?

 buffer2[n-1-i]=buffer1[i];


Pour info, pour mettre des fonctions récursives il faut vraiment que la fonction soit simple, ou alors il faut que ça soit vraiment claire et transparent parce que sinon tu trouveras jamais les causes des éventuelles erreurs :)
0
touf_truc Messages postés 57 Date d'inscription   Statut Membre Dernière intervention   1 > Stupeflip Messages postés 391 Date d'inscription   Statut Membre Dernière intervention  
 
non;
ecrire la fonction miroir par d'autre façon, par recurence.
0
Stupeflip Messages postés 391 Date d'inscription   Statut Membre Dernière intervention   94 > Stupeflip Messages postés 391 Date d'inscription   Statut Membre Dernière intervention  
 
Ben ca depend,

Tu veux qu il refasse un miroir dedans ? Comme ca ca revient dans le bon ordre et ainsi de suite ? Détaille un peu plus ^^
0
mamiemando Messages postés 33778 Date d'inscription   Statut Modérateur Dernière intervention   7 884
 
D'une chaine vers un entier le plus propre c'est un sprintf, et dans l'autre sens un atoi
#include <stdio.h>

int main(){
  char buffer[69];
  int x = 2869,y;
  sprintf(buffer,"%d",x);
  printf("buffer = %s\n",buffer);
  y = atoi(buffer);
  printf("y = %d\n",y);
  return 0;
}

Bonne chance
0