Conversion de chaine en entier

Résolu
bechwiyech Messages postés 3 Date d'inscription vendredi 21 septembre 2007 Statut Membre Dernière intervention 22 septembre 2007 - 22 sept. 2007 à 18:33
bechwiyech Messages postés 3 Date d'inscription vendredi 21 septembre 2007 Statut Membre Dernière intervention 22 septembre 2007 - 22 sept. 2007 à 20:09
Bonsoir

j'ai ecris un petit code pour convertir un nombre en un entier. mais ca marche pas , pourriez vous m'aidez.


#include <stdio.h>
#include <stdlib.h>
#include <string.h>

static void fclean(char *chaine, FILE* ff);




int main (void)
{
    char ici[30];
     int var;
      printf (" entrez votre chiffre \n");
        fgets( ici , sizeof ici,stdin);
          fclean(ici, stdin);
           var =strtol(ici, NULL, 0);
             printf( " votre chiffre est : %d",&var);
               return 0;
}




static void fclean(char *chaine, FILE*ff)
{
    char *p = strchr(chaine, '\n');


    if (p != NULL)
    {
        *p = 0;
    }
    else
    {
        int c;


 while ((c = fgetc(ff)) != '\n' && c != EOF)
        {
        }
    }
}
�1A;


 

4 réponses

SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
22 sept. 2007 à 19:59
Au fait que rien ne l'empêche de se fermer tout simplement.
Utilise getchar ou system("pause") pour attendre une saisie de l'utilisateur.

C++ (@++)<!--
3
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
22 sept. 2007 à 18:54
fgets ne met pas de \n à la fin de la chaine.

printf( " votre chiffre est : %d",&var);
printf ne demande pas une adresse mais une valeur ici.

Ton code revient à ceci:

int main()
{
    char tmp[30];

    printf("Entrez votre nombre: ");
    fgets(tmp, sizeof(tmp), stdin);
    printf("Votre nombre est: %d\n", atoi(tmp));

    return 0;
}

C++ (@++)<!--
0
bechwiyech Messages postés 3 Date d'inscription vendredi 21 septembre 2007 Statut Membre Dernière intervention 22 septembre 2007
22 sept. 2007 à 19:47
Merci SAKingdom, j'ai une autre question
ma console se ferme des que je saisie  mon nombre , c du a quoi ??
0
bechwiyech Messages postés 3 Date d'inscription vendredi 21 septembre 2007 Statut Membre Dernière intervention 22 septembre 2007
22 sept. 2007 à 20:09
c'est bon ca marche , merci encore une fois
0
Rejoignez-nous