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 :

Initialiser une chaine


Sujet :

C

  1. #1
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 625
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 625
    Billets dans le blog
    67
    Par défaut Initialiser une chaine
    Bonsoir,

    j'ai ce bout de code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    char * str ="Hello monsieur";
    char * occ;
    char ch[]="bonjour              ";
     
    ....
     
    occ=str_sub (str,5,13);
    strcat (ch, occ);
     
    printf("%s\n", ch);
    COMMENT PUIS-JE INITIALISER MA chaine ch si je souhaite faire une nouvelle série de concaténation ???

    Quelqu'un pour m'aider ???

    merci à vous
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 625
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 625
    Billets dans le blog
    67
    Par défaut
    et suppose que je veuille réaliser 1 nouvelle concaténation avec ch et que je souhaite initialiser ch avant cette concaténation,

    ch[0]='\0';

    ca suffit-il ???
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  3. #3
    Membre émérite Avatar de homeostasie
    Homme Profil pro
    Inscrit en
    Mai 2005
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 939
    Par défaut
    Pourquoi ne donnes tu pas une longueur toi même à ton tableau de caractères:
    Au lieu de:
    faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    char ch[100]="bonjour";
    Un exemple d'utilisation:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    char * str ="Hello monsieur";
    char ch[100]="NARUTO dit: ";
     
    strcat (ch, str);
    printf("%s\n", ch);
    NB: man developpez strcat

    EDIT:
    et suppose que je veuille réaliser 1 nouvelle concaténation avec ch et que je souhaite initialiser ch avant cette concaténation,

    ch[0]='\0';
    Oui et utilises strcpy() pour assigner une nouvelle chaine de caractères.

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 625
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 625
    Billets dans le blog
    67
    Par défaut
    Resalut homeostasie,
    Voici ce que je souhaite faire en reprenant le début de ton code :
    L'idée générale est la suivante:


    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
    char * str;
    char ch[100]="";
     
    boucle while
    {
     
    ...
     
    /*-- INITIALISATION DE CH -  char ch[100]=""  --*/
     
        boucle while
        {
        lire str;
        strcat (ch, str);
        }
     
    printf("%s\n", ch);
     
    }
    Tu comprends l'OS ???


    Merci à toi !

    @+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  5. #5
    Membre émérite Avatar de homeostasie
    Homme Profil pro
    Inscrit en
    Mai 2005
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 939
    Par défaut
    Peux tu montrer comment tu as codé la partie:
    As tu alloué un espace mémoire quelque part pour:
    NB: Par contre, je n'ai pas compris l'idée générale de la fonction...

  6. #6
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 625
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 625
    Billets dans le blog
    67
    Par défaut
    ok homeostasie, ca tourne bien,

    je n'avais pas lu ton message en entier et j'ai utilisé

    strcpy(ch,"");


    merci a toi ca fonctionne bien,
    je risque surement d'avoir d'autres problèmes de chaines de caractères étant donner qu'une grosse partie de mon travail consiste à lire certaines occurences à 'intérieurs de fichiers textes (travail qui serait bien plus facile en perl, mais voila je n'ai pas le choix je dois le faire en c...)

    @+ surement
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  7. #7
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    Citation Envoyé par User
    Si tu penses réserver de l'espace pour la chaîne à insérer avec ces espaces (j'espère qu'il y en a assez, je sais pas compter ), alors tu devrais faire :
    ch + 8, c'est l'adresse du 8ème caractère de ch (le 2ème espace après bonjour), qu'on aurait donc également pu écrire & ch[8].

    Sinon, tu fais comme te l'a montré homeostasie.

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/11/2008, 12h08
  2. initialiser une chaine de caracteres
    Par subzero01 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 16/09/2008, 18h14
  3. Initialiser une chaine de caractère
    Par lutin06 dans le forum C
    Réponses: 27
    Dernier message: 11/03/2007, 13h39
  4. Réponses: 2
    Dernier message: 13/10/2005, 18h46
  5. Réponses: 3
    Dernier message: 17/12/2003, 12h26

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