begin process at 2012 05 29 20:38:06
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Probleme avec structure comprenant un tableau de char


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probleme avec structure comprenant un tableau de char

mardi 24 janvier 2006 à 16:58:10 | Probleme avec structure comprenant un tableau de char

GUIGUI35400

Bonjour à tous les embres de cppfrance.

J'ai un assez gros probleme avec un quizz que je comence à élaborer.

Je vous énonce le probleme :

j'ai créé une structure Question:

struct Question
{
       char ra[20],rb[20],rc[20];
       char q[200];
              };

comme vous pouvez le voir ,il y a des tableaux de char dans ma structure.

Mon probleme maintenant est que quand je veux entrer la question qui sera posée à l'écran :

int main()
{
   
   
    Question q1;
   int nb,points=0;
   
    //question 1
    q1.q[200]={"question ?"};
   
    //reponse a 1
    q1.ra[20]={"reponse a"};
   
    //reponse b 1
    q1.rb[20]={"reponse b"};
   
    //reponse c 1
    q1.rc[20]={"reponse c"};



quand j'essaye de compiler ca me marque :

expected  `;' befor '{' token

et sa me fait la même erreur quand j'enlève le [20] après q1.ra par exemple.


Pitiée expliquez moi ce qui ne vas pas et ce que je dois faire (ne vous contentez pas de me dire un truc qui ne m'avence a rien).

Je vous remercie beaucoup de me répondre si vous connaissez la réponse à mon probleme.


Merci de votre compréhension.

mardi 24 janvier 2006 à 18:03:53 | Re : Probleme avec structure comprenant un tableau de char

ymca2003

Réponse acceptée !
recopie du'une chaîne de caractères (c'est quand même la base du C au passage) .
strcpy(q1.q, "question ?");

ou
Question q = {"reponse a", "reponse b", "reponse c", "question"};
=> init en même tps que la déclaration
mardi 24 janvier 2006 à 18:05:10 | Re : Probleme avec structure comprenant un tableau de char

Zootella

le ; c'est avant }   
//question 1
q1.q[200]={"question ?";}

sinon q1.q = "question ?";
   
mardi 24 janvier 2006 à 18:09:54 | Re : Probleme avec structure comprenant un tableau de char

GUIGUI35400

Merci ymca2003 et Zootella !!!

Vous me rendez un super service.
mardi 24 janvier 2006 à 18:13:01 | Re : Probleme avec structure comprenant un tableau de char

MrdJack

Réponse acceptée !
hé ben tu peux revoir les bases du c sur les chaines de caractères puisque là c'est une sacrée erreur :
tu essaye de mettre dans un emplacement memoire de 1 octet une chaine de caractère....
de plus, il existe string.h

bref :

#include <string.h>

struct Question
{
       char ra[20],rb[20],rc[20];
       char q[200];
              };


int main()
{
    Question q1;
    //question 1
    strncpy(q1.q, "question ?", sizeof("question ?"));
  
    //reponse a 1
    strncpy(q1.ra, "reponse a", sizeof("reponse a"));
  
    //reponse b 1
    strncpy(q1.rb, "reponse b", sizeof("reponse b"));
  
    //reponse c 1
    strncpy(q1.rc, "reponse c", sizeof("reponse c"));

    printf("la question est : %s\nla reponse a est : %s\nlareponse b est : %s\nla reponse c est : %s\n", q1.q, q1.ra, q1.rb, q1.rc);

    system("PAUSE");

    return 0;
}

en gros, utilise strncpy() pour remplir tes chaines de caractères...
la methode = est non indiquée pour des chaines
n'oublie pas de renseigner la fonction sur la taille de la chaine a copier, ca peut etre comme j'ai fait avec sizeof() ou bien tout simplement 12,13,250 etc... mais moins pratique

@+

mardi 24 janvier 2006 à 18:55:03 | Re : Probleme avec structure comprenant un tableau de char

ymca2003

strncpy(q1.q, "question ?", sizeof("question ?"));
=>
autant utiliser directement strcpy
strncpy est utile pour s'assurer qu l'on va pas copier trop de caractères.

mardi 24 janvier 2006 à 20:16:16 | Re : Probleme avec structure comprenant un tableau de char

MrdJack

Réponse acceptée !
en reponse au dernier post :
securité strcpy

ca ne coute pas plus d'utiliser strncpy mais ca peut faire la différence niveau securité...
et je dois dire que pour un bon programmeur, il est tres important de faire en sorte qu'un programme soit sûr, efficace et fonctionnel en utilisant tous les moyens necessaires...

maintenant, vous en faites ce que vous voulez !!!
je ne vais pas vous faire un dessin...

@++

mardi 24 janvier 2006 à 20:47:23 | Re : Probleme avec structure comprenant un tableau de char

BruNews

Administrateur CodeS-SourceS
si si ça coute plus, un compteur dans la boucle.
La sécurité s'entend pour des params externes ou chose de ce genre mais pour autant il est inutile de sacrifier les perfs si les params sont controlés en amont, par limite du champ de saisie par exemple.
On doit savoir rester critique sur tout et ne pas coder comme un automate.

ciao...
[ Lien ]
BruNews, MVP VC++


Cette discussion est classée dans : probleme, question, char, reponse, q1


Répondre à ce message

Sujets en rapport avec ce message

question d'allocation probleme char char* Question simple [ par youpiyoyo ] voici mon probleme://///////////////////////////////////////////////////int rec = recv(ns,buffer,64*sizeof(char),0); buffer[rec] = '\0' ; //cout Question (comme par hasard :p) [ par Tidam ] Voila je debute un peu en c++ et je voudrais savoir un truc.Dans une class, imaginons que j'ai les variables suivantes (des char) :- char1- char2- cha Probleme de char [ par ph0ton ] J'ai un probleme avec une condition.Je m'explique :J'ai une variable : char Fonction[30];Je rempli la variable grace a la lecture d'un fichier.Ensuite probleme de fichier [ par nach73 ] bonjour de je suis debutant en c.Je suis occupe a ecrit un prog qui cherche un mot saise a la console.J'ai un probleme quand je recherche la position remplissage d'un std::list [ par boun85 ] Voila mon probleme est assez simple je pense mais je n'arrive pas a le resoudre. Voila j'ai une fonction qui lit un fichier et qui rempli une std::lis probleme lors de la saisie de données pour mon répertoir [ par doggy59115 ] Bonjour a tous, j'ai un petit probleme avec mon programme en C. Lors de l'affichage des données saisies, le nom et le numero de telephone ne forment q Probleme de struct [ par Tidam ] Bijour a tous, voila mon probleme : quand je compile, tout va bien, mais une fois que le programme arrive a cette ligne il plante ... strcpy(infoirc-> question newbie :: initialisation vecteur ... [ par gackie ] j'ai une classe vecteur qui doit contenir des chaines de caractères.Une variable membre vect qui est un char**mais il râle au niveau du constructeur q petite question mais ke j'ai besoin [ par superoi ] bon \jour je sais que c'est con mais j'ai vraiment besoin de savoir c'est pour savoir si ca existe en c ca : long (*f)(void)(char *str); et est ce probleme de pointeur [ par jypees ] Bonjour a tous. Voila j'ai l'habitude de faire de la prog sur unix et la je viens de me lancer sur windows (lol) et j'ai un petit probleme car je ne s


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales