Définir une chaîne dans une structure
Résolu
lamouchetsetse
Messages postés
112
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour, j'ai créer une petite structure qui contient des chaînes de caractères, le probleme c'est que je ne parviens pas à enregistrer ma chaine.
voici mon code:
Dans un premier j'obtiens cette erreur lors de la compilation :error assignement to expression with array type.
Par contre le scanf fonctionne.
Je ne comprend pas pourquoi
Merci.
voici mon code:
typedef struct maStruct maStruc;
struct maStruct
{
char chaine1[100];
char chaine2[100];
int entier1;
int entier2;
};
main(int argc, char *argv[])
{
maStruct maChaine;
maChaine.chaine1 = "salut"; // Ne fonction pas
scanf("%s", maChaine.chaine1); //Fonctionne;
return 0
}
Dans un premier j'obtiens cette erreur lors de la compilation :error assignement to expression with array type.
Par contre le scanf fonctionne.
Je ne comprend pas pourquoi
maChaine.chaine1 = "salut";ne fonctionne pas.
Merci.
3 réponses
-
Et bien je pensais que quelqu'un aurais eu une petite idée.
Vraiment personne pour m'aider? -
Bon, je pense avoir compris, en fait il semble qu'il soit obligatoire d'entrer les caractères 1 à 1 des lors que la chaîne est déjà défini
-
Bonjour,
Un tableau de caractères n'est pas un type simple, on doit utiliser la fonctionstrcpy()
au lieu de=
pour copier (et la fonctionstrcmp()
au lieu de==
pour comparer.)