Enregistrement d'une chaine de caractere en C

Matthieu -  
 S@IT -
Voila j'ai un probleme je dois faire un prgramme en C pour faire une gestion de joueur pour mon club de basket. En fait à un moment je dois enregistrer l'adresse et il y a des espaces (du type "16 rue de la Motte"et sa me fait une erreur quan je fai entrer voila mon code de saisi.

//Declaration dans une structure Joueur//
char adresse_joueur[20];

printf("Adresse du Joueur :");
scanf("%s",joueur.adresse_joueur);

Merci d'avance de m'aider sincerement un novice.

3 réponses

  1. Matthieu
     
    Je peu pas il fai plus de 2000 lignes mais je peu te mettre la declaration entiere
    typedef struct
    {
    int num_joueur;
    char nom_joueur[20];
    char prenom_joueur[20];
    char sexe[2];
    char adresse_joueur[20];
    char cp_joueur[6];
    char ville_joueur[20];
    char tel_joueur[15];
    char brule[2];
    char type_licence[2];
    int naissance_joueur;
    char numlicence_joueur[30];
    char paye_joueur[2];
    char surclassement[2];
    int num_equipe;
    }joueurs;

    void creer_joueur()
    {
    printf("Combien voulez vous saisir de joueur :");
    scanf("%d",&nb_enreg);
    c=0;
    p_joueur=fopen("c:\\temp\\joueur.txt","w");
    if(!p_joueur)
    {
    printf("ERREUR\n");
    exit(-1);
    }

    while(c<nb_enreg)
    {
    printf("nom du Joueur :");
    scanf("%s",joueur.nom_joueur);
    printf("prenom du Joueur :");
    scanf("%s",joueur.prenom_joueur);
    do
    {//verif de bon parametre m/f
    printf("quel est le sexe du Joueur (M/F) :");
    scanf("%s",joueur.sexe);
    resultat_verifparametre5=verif_parametre5();
    if(resultat_verifparametre5!=1)
    erreur_message(0);
    }
    while(resultat_verifparametre5!=1);
    printf("Adresse du Joueur :");
    scanf("%s",joueur.adresse_joueur);
    printf("Code Postal du Joueur :");
    scanf("%s",joueur.cp_joueur);
    printf("Ville Joueur :");
    scanf("%s",joueur.ville_joueur);
    printf("Téléphone Joueur :");
    scanf("%s",joueur.tel_joueur);
    printf("Date Naissance joueur :");
    scanf("%d",&joueur.naissance_joueur);
    printf("Numeros de licence joueur");
    scanf("%s",joueur.numlicence_joueur);
    do
    {//verif de bon parametre p/r/m
    printf("Type de Licence Joueur R:renouvellement P:prêt M:mutation");
    scanf("%s",joueur.type_licence);
    resultat_verifparametre1=verif_parametre1();
    if(resultat_verifparametre1!=1)
    erreur_message(0);
    }
    while(resultat_verifparametre1!=1);
    do
    {//verif de bon parametre o/n
    printf("Licence Payé (O/N) :");
    scanf("%s",joueur.paye_joueur);
    resultat_verifparametre4=verif_parametre4();
    if(resultat_verifparametre4!=1)
    erreur_message(0);
    }
    while(resultat_verifparametre4!=1);
    do
    {//verif de bon parametre o/n
    printf("Joueur Brulé (O/N):");
    scanf("%s",joueur.brule);
    resultat_verifparametre2=verif_parametre2();
    if(resultat_verifparametre2!=1)
    erreur_message(0);
    }
    while(resultat_verifparametre2!=1);
    do
    {//verif de bon parametre o/n
    printf("Joueur Surclasser ? (O/N) :");
    scanf("%s",joueur.surclassement);
    resultat_verifparametre3=verif_parametre3();
    if(resultat_verifparametre3!=1)
    erreur_message(0);
    }
    while((resultat_verifparametre3!=1));

    do
    {
    resultat_verifnumequipe=0;
    printf("Quel est le numéros de son equipe :");
    affichage_equipe();
    scanf("%d",&num_equipe);
    resultat_verifnumequipe=verif_numequipe();
    if(resultat_verifnumequipe!=1)
    erreur_message(0);
    }
    while(resultat_verifnumequipe!=1);
    joueur.num_equipe=num_equipe;
    fwrite(&joueur,sizeof(joueurs),1,p_joueur);
    printf("Joueur :%s Enregistrer. Joueur suivant\n\n",joueur.nom_joueur);
    c++;
    }
    fclose(p_joueur);
    }
    0
  2. S@IT
     
    T'a oublié, il faut passé l'adresse de la variable.

    //Declaration dans une structure Joueur//
    char adresse_joueur[20];

    printf("Adresse du Joueur :");
    scanf("%s",&joueur.adresse_joueur);
    0