IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Affectation d'une variable à une strucure


Sujet :

C

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 78
    Points : 37
    Points
    37
    Par défaut Affectation d'une variable à une strucure
    Bonjour.
    J'essaye d'affecter une variable de type chaine à un élément de ma strucutre.
    Le compilateur m'affiche cette erreur " incompatible types in assignment".
    Je ne vois pas du tout mon erreur. Merci de m'aider
    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    #include <stdio.h>
    #include <stdlib.h> // bibliotèque pour traiter les fichiers
    #include <conio.h>
    #define TAILLEMAX 30
    /*FILE* fopen(const char* nomdufichier, const char* modeOuverture); 
    int fclose(FILE* pointeurSurFichier);
    char* fgets(char* chaine, int nombreDeCaracteresALire, FILE* pointeurSurFichier);*/
     
    typedef struct  // Déclaration de la structure
    {
        char nom[TAILLEMAX]; // Nom
        char prenom[TAILLEMAX]; //Prenom
     
    } Employes;
     
    void afficheEmployes(Employes *personne) // Fonction qui affiche les valeurs de x et y
    {
        printf("Le nom est : %s\n", personne->nom);
        printf("Le prenom est : %s\n",personne->prenom);
        getch();
    } 
     
    int main(void)
    { 
        int i=0;
        char chaine[TAILLEMAX]="";
        char chaine1[TAILLEMAX]="";
        Employes personne[2];
        FILE* fichier = NULL;
        fichier = fopen("fichier.txt","r+");
        if (fichier != NULL)
        {
            //On peut lire et écrire dans le fichier
            //fprintf(fichier,"pedala mancini\n");
            //fprintf(fichier,"piccoli miccoli");
            fscanf(fichier,"%s %s",&chaine,&chaine1);
            personne[i].nom=chaine;
            personne[i].prenom=chaine1;
            /*while ((fgets(chaine, TAILLEMAX, fichier) != NULL) && (i<10))  // On lit le fichier tant qu'on ne reçoit pas d'erreur (NULL)
            {
                  *personne[i].nom=chaine;
                  i=i+1;
            }*/
            fclose(fichier);
            //afficheEmployes(&*personne); // Appel de la fonction
            getch();
            }  
        else
        {
            // On affiche un message d'erreur si on veut
            printf("Impossible d'ouvrir le fichier fichier.txt");
            getch();
        }
        return 0;
    }
    Merci encore

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 62
    Points : 65
    Points
    65
    Par défaut
    salut l'erreur est a quelle ligne ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 78
    Points : 37
    Points
    37
    Par défaut
    Salut,
    L'erreur est sur celle ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    personne[i].nom=chaine;
            personne[i].prenom=chaine1;
    Merci

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 62
    Points : 65
    Points
    65
    Par défaut
    tu essaires d'affecter deux tableaux de caractéres sans passer par un pointeur

    personne[i].nom=chaine; se serait valable en c++ pour des string malheureusement avec des chaines de caracteres tu as deux choix faire une boucle for () et tu copies caractéres par caracteres ou passer par un deux pointeurs de chaines.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 78
    Points : 37
    Points
    37
    Par défaut
    Ha daccord je viens de comprendre.
    Merci encore, le problème est résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. affecter le résultat d'une requete à une variable globale
    Par Giuseppe24 dans le forum Développement de jobs
    Réponses: 4
    Dernier message: 26/03/2010, 14h13
  2. affecter le resultat d'une requete à une variable
    Par thor18 dans le forum VBA Access
    Réponses: 13
    Dernier message: 22/11/2007, 16h40
  3. Affecter le résultat d'une requête à une variable
    Par PSYcoZZ dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 10/02/2007, 13h27
  4. affecter le résultat d'une requête à une variable
    Par zut94 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 06/10/2005, 17h21
  5. Affecter résultat SQL d'une requête à une variable
    Par bozolozo dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 02/01/2005, 17h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo