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 23541 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:

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.

A voir également:

3 réponses

lamouchetsetse Messages postés 112 Date d'inscription   Statut Membre Dernière intervention   2
 
Et bien je pensais que quelqu'un aurais eu une petite idée.
Vraiment personne pour m'aider?
0
lamouchetsetse Messages postés 112 Date d'inscription   Statut Membre Dernière intervention   2
 
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
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
il s'agit, en effet, d'un tableau de caractères: regarde ta déclaration.
0
Dalfab Messages postés 706 Date d'inscription   Statut Membre Dernière intervention   101
 
Bonjour,

Un tableau de caractères n'est pas un type simple, on doit utiliser la fonction
strcpy()
au lieu de
=
pour copier (et la fonction
strcmp()
au lieu de
==
pour comparer.)
0