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 :

convertir un "int" en "char*"


Sujet :

C

  1. #1
    Membre confirmé Avatar de highlight
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Novembre 2008
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Novembre 2008
    Messages : 139
    Par défaut convertir un "int" en "char*"
    Bonjour tout le monde,

    J'ai un petit probleme que j'arrive pas à resoudre. Je veux convertir une variable de type 'int' en 'char*'. comment faire?

    Merci de votre aide.

  2. #2
    Membre émérite
    Avatar de bpy1401
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2003
    Messages
    511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2003
    Messages : 511
    Par défaut
    Bonjour highlight

    un peu surprenante cette question, mais j'ai déjà vu cela en C embarqué ou l'on a une adresse de registre et on souhaite pouvoir accéder à ce registre.

    de mémoire, c'était

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    unsigned char * pUnRegsitre  = (char *)0xaaaa;
    mais c'est un peu vieux
    A+
    Page sur Developpez : http://pbriand.developpez.com

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Par défaut
    Citation Envoyé par highlight Voir le message
    Bonjour tout le monde,

    J'ai un petit probleme que j'arrive pas à resoudre. Je veux convertir une variable de type 'int' en 'char*'. comment faire?

    Merci de votre aide.
    Donne plus de précisions. Dans quel but tu veux faire ça ? Est-ce pour de l'embarqué ?

  4. #4
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 254
    Par défaut
    Utilise la fonction sprintf de la façon suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sprintf(buff, "%d", ton_int);
    Comme ça si par exemple, t'a un int qui fait 42, dans tu buff tu te retrouvera avec "42", en chaine de charactère.

  5. #5
    Membre émérite Avatar de Steph_ng8
    Homme Profil pro
    Doctorant en Informatique
    Inscrit en
    Septembre 2010
    Messages
    677
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant en Informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 677
    Par défaut
    Dans ce cas, la solution de 6-MarViN est la bonne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #include <stdio.h>
     
    int main()
    {
        int n = 42;
        char s[LMAX]; // Nombre maximal de chiffres + 1
     
        sprintf(s, "%d", n); // Conversion de l'entier
     
        printf("%d => \"%s\"\n", n, s);
        return 0;
    }

  6. #6
    Membre confirmé Avatar de highlight
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Novembre 2008
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Novembre 2008
    Messages : 139
    Par défaut
    Merci pour ces reponse. J'eclaircis mon probleme, c'est tres simple:
    J'ai un entier:
    Je veux le convertir pour avoir comme,
    Le but juste pour pouvoir lire un chemin et acceder à un fichier

  7. #7
    Membre émérite Avatar de Steph_ng8
    Homme Profil pro
    Doctorant en Informatique
    Inscrit en
    Septembre 2010
    Messages
    677
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant en Informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 677
    Par défaut
    Pour être plus précis, la fonction sprintf s'utilise comme printf (voir les pages de manuel).

    Donc, dans un premier temps, fais comme si tu voulais afficher le nom du fichier que tu cherches.
    Ensuite, remplace printf par sprintf, et ajoute comme premier paramètre le char * qui servira à stocker le nom du fichier.
    Attention, ce pointeur doit pointer sur une zone mémoire suffisamment grande pour contenir toute la chaîne (caractère nul compris).

    F.A.Q. C: Comment convertir un nombre en chaîne de caractères ?

    PS: Tu n'est pas obligé de supprimer un message pour le modifier.
    Le bouton « Éditer » sert à ça !

  8. #8
    Membre confirmé Avatar de highlight
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Novembre 2008
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Novembre 2008
    Messages : 139
    Par défaut
    Le but de cela est d'acceder à un fichier qui a pour chemin:
    C:\\fichier\\0.txt
    voila ce que j'ai fait mais ça marche pas :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     char path[80];
    char* chemin="C:\\fichier\\;
    strcpy (path,chemin);
    strcat (path,buffer);
    strcat (path,".txt");
    Par contre si je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    char path[80];
    char* chemin="C:\\fichier\\;
    strcpy (path,chemin);
    char * K="0";
    strcat (path,K);
    strcat (path,".txt");
    ça marche tres bien

  9. #9
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 254
    Par défaut
    il sort d'ou le buffer dans ton premier cas?

    Sinon grace a sprintf, tu n'as pas besoin de strcat tu peux faire de la facon suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sprintf(path, "%s%s%d.txt", chemin, buffer, ton_int);
    et voilou.

  10. #10
    Membre confirmé Avatar de highlight
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Novembre 2008
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Novembre 2008
    Messages : 139
    Par défaut
    Opps, desolé ça marche bien, l erreur que j'ai faite est que j'ai pas declarer suffisement de place pour les tableaux.. Merci bien les gas ça marche nikel

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

Discussions similaires

  1. Convertir un UNSIGNED INT en deux UNSIGNED CHAR
    Par petitnul12 dans le forum C
    Réponses: 36
    Dernier message: 03/04/2013, 22h09
  2. Réponses: 4
    Dernier message: 25/07/2012, 01h17
  3. UPDATE en ajoutant un 0 sur un champ de type "char"
    Par doum2 dans le forum Requêtes
    Réponses: 1
    Dernier message: 08/03/2006, 14h22
  4. Réponses: 6
    Dernier message: 28/10/2005, 12h11
  5. [SQL] Convertir un champ INT en CHAR dans un SELECT ?
    Par webtheque dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/03/2005, 14h45

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