concatenation de deux chaines
Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

concatenation de deux chaines



  1. #1
    kizakoo

    concatenation de deux chaines


    ------

    Bonsoir, on nous demande dans un exo d'implémenter une fonction qui:

    Concatène les `n` chaînes de caractères contenues dans
    `strs` dans `result` et retourne la longueur de la chaîne ainsi créée.
    Remarque:
    - `result` est supposé assez grand pour contenir le résultat.
    - L'utilisation de strcat est interdite

    voici ma réponse, ça compile mais elle ne fait pas le job:

    Nom : concat.jpg
Affichages : 3462
Taille : 30,7 Ko

    pouvez-vous m'éclairer ?
    Merci de votre aide!

    -----

  2. #2
    Fustigator

    Re : concatenation de deux chaines

    L'initialisation de m n'a déjà pas grand sens (on fait une hypothèse sur le contenu de la chaîne de retour avant l'appel .... )
    .
    La logique voudrait que ce soit la fonction qui alloue la chaîne de retour, ou, a minima, reçoive l'info de taille maxi.

    On ne sait pas trop à quoi sert le paramètre n.


    Accessoirement vous postez une demande sans préciser le langage utilisé. (à la lecture, on devine que c'est sans doute du C, mais cela aurait pu être a minima précisé).

  3. #3
    pm42

    Re : concatenation de deux chaines

    Oui, là le programme ne met pas dans result la concaténation mais ajoute à ce qui se trouverait éventuellement déjà dans result.

    Ce qui est très dangereux : result peut parfaitement contenir de l'aléatoire et avoir une longueur gigantesque.

    De plus, on peut difficilement concaténer n chaines de caractères en faisant juste une boucle dessus et en ne lisant qu'un caractère.

  4. #4
    kizakoo

    Re : concatenation de deux chaines

    Bonjour, merci de vos retour au fait j'arrive pas à saisir la différence entre char * strs[] et char *result, result est un pointeur vers une chaine de caractère et strs est un tableau de chaine de caractères (=une phrase ?!) ??
    je me trompe ?

  5. A voir en vidéo sur Futura
  6. #5
    pm42

    Re : concatenation de deux chaines

    result est un pointeur vers un espace mémoire, pas forcément une chaine de caractères. C'est à toi de le remplir avec le résultat.

    strs est un tableau de chaines de caractères en effet.

    Tu peux déjà essayer d'écrire un programme qui prendrait en entrée char* str1, char* str2, char* result et qui mettent dans result la concaténation de str1 et str2.

  7. #6
    kizakoo

    Re : concatenation de deux chaines

    Merci pm42 de ta réponse, j'essaie d'implémenter strcpy en c .
    je me permets de poser une autre question: quelle est la différence entre une chaine entre 'chaine' (entre simple quote) et une chaine entre double quote "chaine "

  8. #7
    Ikhar84
    Animateur Informatique

    Re : concatenation de deux chaines

    En attendant pm:
    Une chaine entre guillement simple (quote) n'est pas une chaine mais un seul caractère isolé (char). Donc erreur de compilation normalement...
    En C. Ailleurs les différences sont souvent plus subtiles (PHP, SQL, ...).
    J'ai glissé Chef !

  9. #8
    kizakoo

    Re : concatenation de deux chaines

    Merci de vos réponses j'ai bien compris

Discussions similaires

  1. Matlab simulink concaténation de deux octets
    Par cubitus_54 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 26/04/2015, 16h44
  2. Concaténation de deux vecteurs aléatoires
    Par PleaseHelpMe dans le forum Mathématiques du supérieur
    Réponses: 4
    Dernier message: 02/05/2013, 14h24
  3. concaténation de chaînes de caractères, langage C
    Par aureo91 dans le forum Programmation et langages, Algorithmique
    Réponses: 7
    Dernier message: 14/12/2012, 06h37