IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

Conversion de type


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 27
    Par défaut Conversion de type
    Salut
    Est-ce que qq’un peut m’aidez ! Je veux stocker un entier dans un fichier texte mais je n’arrive pas à le convertir en char et dans ce cas il m’affiche de mauvais résultat par exemple si l’entier contient 97 il m’écrit dans le fichier le caractère ASCII qui lui correspond c.-à-d. ‘a’ mais moi je veux qu’il m’écrit 97
    Voici le code correspondant :
    #include <stdio.h>
    #include <stdlib.h>

    void main()
    {
    FILE *f=NULL;
    f=fopen("c:\\essai.txt","w");
    int x=97;
    fputc((char)x,f);
    system("pause");
    }

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 117
    Par défaut
    pour écrire un entier dans un fichier il faut écrire ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #include <stdio.h>
    #include <stdlib.h>
     
    int main(void)
    {
        int a=97;
        FILE *f;
        f=fopen("c:\\essai.txt","w");
        fprintf(f,"%d\n",a);
        fclose(f);  //ne pas l'oublier
        getchar();  //attend l'appui sur Entrée, solution portable de system("PAUSE");
        return EXIT_SUCCESS;
    }

  3. #3
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Citation Envoyé par john stedd Voir le message
    il me semble que pour écrire un nombre dans un fichier, ceici serait plus adéquat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    #include <stdio.h>
    #include <stdlib.h>
     
    int main(void)
    {
        int x=97;
        FILE *f=NULL;
        f=fopen("C:\\essai.txt","w");
        fprintf("%d\n",x);
        fclose(f);
        getchar();
        return EXIT_SUCCESS;
    }
    Je dirais plutôt:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    #include <stdio.h>
    #include <stdlib.h>
     
    int main(void)
    {
        int err = EXIT_SUCCESS;
        int x = 97;
        FILE *f=NULL;
     
        f = fopen("C:\\essai.txt","w");
        if (f != NULL)
        {
            fprintf(stdout, "%d\n", x);
            fclose(f);
        }
        else
        {
            fprintf(stderr, "L'ouverture du fichier a échoué!\n");
            err = EXIT_FAILURE;
        }
        /*-tc- l'utilisation de system("PAUSE"); n'est pas nécessaire sur les EDI modernes*/
        return err;
    }
    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 117
    Par défaut
    juste une petite question sur ce sujet car ça fait deux fois aujourd'hui que je me trouve nez à nez avec ce problème :
    est-il besoin de vérifier l'existence d'un fichier quand on écrit l'instruction f=fopen("c:\\essai.txt","w"); ?
    car si le fichier n'existe pas, il est créé; s'il existe, le contenu est écrasé. peut-il y avoir un problème lors de l'ouverture en écriture d'un fichier?

  5. #5
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 27
    Par défaut
    Citation Envoyé par john stedd Voir le message
    juste une petite question sur ce sujet car ça fait deux fois aujourd'hui que je me trouve nez à nez avec ce problème :
    est-il besoin de vérifier l'existence d'un fichier quand on écrit l'instruction f=fopen("c:\\essai.txt","w"); ?
    car si le fichier n'existe pas, il est créé; s'il existe, le contenu est écrasé. peut-il y avoir un problème lors de l'ouverture en écriture d'un fichier?
    Oui il faut vérifier l'existence du fichier mais ce n'est pas le cas que je cherche de toute façon merci

  6. #6
    Membre Expert
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Par défaut
    Citation Envoyé par john stedd Voir le message
    peut-il y avoir un problème lors de l'ouverture en écriture d'un fichier?
    Oui:
    • le disque est plein;
    • on n'a pas le droit d'ecrire dessus;
    • l'acces au disque a echoue (disque reseau, controlleur defaillant...);
    • autres problemes.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 117
    Par défaut
    merci pour ces précisions DaZumba. je méditerai ça ce soir avant d'aller me coucher

  8. #8
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 27
    Par défaut
    Merci ça marche

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [DATE][CONVERSION] du type numerique au type date
    Par hamed dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 06/04/2005, 16h16
  2. Conversion de type
    Par sovitec dans le forum Langage
    Réponses: 5
    Dernier message: 15/12/2004, 14h29
  3. Conversion de type
    Par poirier dans le forum ASP
    Réponses: 2
    Dernier message: 06/07/2004, 10h30
  4. [MYSQL] conversion de type sur import de script
    Par sebos63 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 27/08/2003, 10h00
  5. Réponses: 2
    Dernier message: 05/06/2002, 12h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo