Copier un tableau char dans un autre tableau char
Résolu/Fermé
emmy_2019
Messages postés
59
Date d'inscription
mardi 23 avril 2019
Statut
Membre
Dernière intervention
16 septembre 2019
-
17 mai 2019 à 10:12
[Dal] Messages postés 6057 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 17 mars 2023 - 21 mai 2019 à 12:00
[Dal] Messages postés 6057 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 17 mars 2023 - 21 mai 2019 à 12:00
A voir également:
- Copier un tableau dans un autre en c
- Afficher un tableau en c - Forum C
- Tableau croisé dynamique - Guide
- Extraire des données d'un tableau excel vers un autre tableau ✓ - Forum Excel
- Copier video youtube - Guide
- Super copier - Télécharger - Gestion de fichiers
1 réponse
[Dal]
Messages postés
6057
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
17 mars 2023
1 043
Modifié le 17 mai 2019 à 14:31
Modifié le 17 mai 2019 à 14:31
Salut emmy_2019,
Si ce que tu veux copier se trouvant dans un tableau de
Si ce qui est stocké n'est pas une chaîne C, utilise
Si tu as une erreur de segmentation de mémoire, alors que tu te trouves dans les hypothèses ci-dessus, ton erreur doit venir d'autre chose que tu fais et qui corrompt la mémoire, ou les hypothèses que tu décris ne correspondent pas à ce que tu fais réellement.
Dal
Si ce que tu veux copier se trouvant dans un tableau de
char Heure[80];est une chaîne C, c'est à dire une suite de char stockés dans le tableau y compris le caractère terminateur de chaîne
'\0', tu devrais utiliser
strcpy(), qui ne devrait pas poser de problèmes pour copier la chaîne vers un autre tableau de char de même taille
strcpy(dest, orig).
Si ce qui est stocké n'est pas une chaîne C, utilise
memcpy(dest, orig, sizeof(dest));sur ces deux tableaux (de type
char Heure[80];selon ce que tu dis).
Si tu as une erreur de segmentation de mémoire, alors que tu te trouves dans les hypothèses ci-dessus, ton erreur doit venir d'autre chose que tu fais et qui corrompt la mémoire, ou les hypothèses que tu décris ne correspondent pas à ce que tu fais réellement.
Dal
Modifié le 17 mai 2019 à 14:08
#include <stdio.h> #include <string.h> typedef struct { char Heure[80]; int ID; int Nombre_Mont; int Nombre_Desc; }Comptage; typedef struct { char Heure[80]; char *receive; }Result; Result Res[2]; Comptage Cpt[2]; int main(void) { /* on met des trucs dans le membre char Heure[80]; * du tableau de struct Result */ strcpy(Res[0].Heure, "il est tard"); strcpy(Res[1].Heure, "il est tôt"); /* on copie cela dans le tableau de struct Comptage */ strcpy(Cpt[0].Heure, Res[0].Heure); strcpy(Cpt[1].Heure, Res[1].Heure); /* on liste le contenu du membre char Heure[80]; * du tableau de struct Comptage */ printf("Cpt[0].Heure = %s\n", Cpt[0].Heure); printf("Cpt[1].Heure = %s\n", Cpt[1].Heure); return 0; }fonctionne sans aucun problème :
21 mai 2019 à 11:14
21 mai 2019 à 12:00