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 :

inserer un entier dans une chaine de caractere


Sujet :

C

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut inserer un entier dans une chaine de caractere
    Je dois concatener des chaines de caractere avec des entiers....

    Comment dois je faire????

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 382
    Points : 41 590
    Points
    41 590
    Par défaut
    En C, je dirais allocation d'un buffer + sprintf()
    (ou mieux, si disponible : snprintf() du C99, StringCb/CchPrintf() de Windows, asprintf() de POSIX, etc.)

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    j ai bien essayé avec sprintf mais ca donne rien...


    pouvez vous me donner un bout de code en exemple pour concatener par exemple :

    char test1[]="test";
    int num=12;
    char test2[]="ras";

    merci par avance (code c ansi)

  4. #4
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par thonyitii
    j ai bien essayé avec sprintf mais ca donne rien...
    Bah, c'est très proche de printf(). Montre ton code.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 136
    Points : 100
    Points
    100
    Par défaut
    bonsoir

    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
     
    #include<stdio.h>
    #include<stdlib.h>
     
     
    int main(int argc, char ** argv){
     
        char test1[]="test";
        int num=12;
        char num_text[]="";
     
        sprintf(num_text,"%d",num);
        printf("Voici num_text : %s", num_text);
     
    }
    Ce code marche, donc pas de problème avec sprintf. Pour concatenet utilise strcat.

  6. #6
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    bosoir,

    Citation Envoyé par igorIgor
    et le compilateur agrandi le tableau selon la taille du résultat

    Créer une chaîne de caractères formatée

  7. #7
    Membre éprouvé
    Avatar de InOCamlWeTrust
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 036
    Points : 1 284
    Points
    1 284
    Par défaut
    Non, ce code est faux. Si ça marche, tu as beaucoup de chance.

  8. #8
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    ok merci.

    ca marche bien avec le code sprintf....

    Merci encore

    meilleurs voeux a tous ...

  9. #9
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par igorIgor
    Ce code marche,
    Non. Dépassement de mémoire, comportement indéfini.

    http://emmanuel-delahaye.developpez.com/notes.htm#ub

    Le tableau num_text a une taile de 1 char. Si tu écris dedans autre chose que "", c'est le drame.

    Je rappelle les règles :
    • la chaine de destination doit être modifiable : OK
    • la chaine de destination doit être suffisamment grande : KO !

  10. #10
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par gege2061
    et le compilateur agrandi le tableau selon la taille du résultat
    Ouais, c'est dans le nouveau C07 : Elastic Arrays...

    On est pourtant pas le premier avril...

  11. #11
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    ok je suis d accord qu il faille plutôt ecrire :

    char num_text[taille max];

    c est plus correct et la place est determinée...

    Merci

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    633
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 633
    Points : 711
    Points
    711
    Par défaut
    Bonjour,
    Citation Envoyé par InOCamlWeTrust
    Non, ce code est faux. Si ça marche, tu as beaucoup de chance.
    Hum...

    J'aurais plutôt écrit Si ça marche, tu n'as vraiment pas de chance.

    Car un programme qui fonctionne alors qu'il est faux, induit le programmeur en erreur, et le rend inattentif à ce qu'il a écrit.

Discussions similaires

  1. Recherche d'entier dans une chaine de caractere
    Par padawan78 dans le forum Langage
    Réponses: 2
    Dernier message: 22/03/2010, 21h45
  2. Recuperation d'un entier situe dans une chaine de caractere
    Par gregounnet dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/07/2007, 16h41
  3. Extraire un entier dans une chaine de caractere
    Par touf213 dans le forum C++Builder
    Réponses: 1
    Dernier message: 04/07/2007, 17h55
  4. [C#] Comment insérer des retours chariot dans une chaine de caractère ?
    Par tazmania dans le forum Accès aux données
    Réponses: 4
    Dernier message: 30/10/2006, 10h27
  5. [RegEx] Insérer espace dans une chaîne de caractères
    Par bb62 dans le forum Langage
    Réponses: 9
    Dernier message: 17/07/2006, 10h01

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