Accueil > Forum > > > > Probleme avec structure comprenant un tableau de char
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
|
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
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087 RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|