langage C : fonction strcpy
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

langage C : fonction strcpy



  1. #1
    cosmoff

    langage C : fonction strcpy


    ------

    bonjour,

    voila je dois modifier dans un tableau en 2 dimension une nouvelle valeur de type char, j'ai donc fait :

    Code:
    strcpy(tab[5][5], "k");
    mais mon compilateur me met erreur : invalid conversion from char to char*
    et je ne vois pas du tout comment je peux m'y prendre autrement.

    avez vous une idée à mon probleme ?

    Merci d'avance

    -----

  2. #2
    pm42

    Re : langage C : fonction strcpy

    Tu confonds les char, qui représentent un seul caractère avec les char* qui sont des chaines de caractères.
    Les premiers sont entre simple ' et les second entre double ".

    On utilise strcpy uniquement pour les chaines donc les char* en faisant attention à bien avoir assez de place dans la destination.
    Là, si tu veux juste mettre un caractère, tu aurais du écrire :

    Code:
    tab[5][5]='k';

  3. #3
    cosmoff

    Re : langage C : fonction strcpy

    ah oui !!
    merci beaucoup

  4. #4
    Apitronics

    Re : langage C : fonction strcpy

    Qui plus est, je ne pense pas que ton code fonctionne, même avec une chaîne de caractères en paramètre, car le bout de code que tu as mis ici correspond à un tableau 2 dimensions. Et de mémoire, (mais je n'en suis pas sûr) strcpy ne prend en paramètre qu'un tableau 1 dimension.
    Dans mon esprit, il te faudrait plus quelque chose comme ça :

    Code:
    for (int i = 0; i < 5; ++i) {
    strcpy(tab[i], "mot");
    }

    Où ton mot aurait une taille de 5 caractères - 1, pour le caractère d'échappement ' \0 '.

    Bonne soirée,
    Ben.

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

    Re : langage C : fonction strcpy

    Bonjour,

    N'importe quoi, il faut faire :

    Code:
    char tab[4];
    strcpy (tab,"mot");
    J'ai 3 caractères à copier, il faut donc dimensionner la chaine à un caractère de plus pour recevoir le caractère nul qui sera mis à la fin (et qu'il est inutile de spécifier, le compilateur va le mettre après la constante "mot").

  7. #6
    pm42

    Re : langage C : fonction strcpy

    C'est marrant de voir des réponses utilisant strcpy pour copier des chaînes alors que le primo-posteur voulait juste mettre un char, que la réponse a été donnée et qu'apparemment elle lui a convenu.

    Mais au delà de cela, j'ai l'impression que ce que disait Apitronics est juste si on veut remplir un tableau de chaînes en effet. Et ce que dit CM63 est juste si on veut remplir juste une seule chaîne.
    J'ai du mal à voir le pourquoi de 2 posts et du "n'importe quoi" chacun sur un périmètre différent.

Discussions similaires

  1. Fonction en langage c
    Par amiire6 dans le forum Programmation et langages, Algorithmique
    Réponses: 5
    Dernier message: 05/03/2016, 19h53
  2. Utilisation de Strcpy
    Par fredlav109 dans le forum Programmation et langages, Algorithmique
    Réponses: 14
    Dernier message: 16/02/2015, 21h30
  3. fonction en langage c
    Par kechnakoya dans le forum Programmation et langages, Algorithmique
    Réponses: 9
    Dernier message: 31/10/2014, 09h30
  4. Fonction KILL langage c
    Par SEIYA00 dans le forum Programmation et langages, Algorithmique
    Réponses: 3
    Dernier message: 10/02/2012, 18h20
  5. langage c++ fonction get
    Par invitedbe5e39e dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 09/10/2007, 12h54