begin process at 2012 05 29 08:21:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

Erreur dans un code à priori simple... je ne comprends pas l'erreur.


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

Erreur dans un code à priori simple... je ne comprends pas l'erreur.

lundi 28 juin 2010 à 15:44:03 | Erreur dans un code à priori simple... je ne comprends pas l'erreur.

joshua91




Bonjour à tous,
Il s'agit surement d'une erreur de gestion de pointeur sur les tableaux de Char... mais je ne vois pas.
C'est à tous les coups une erreur stupide, et je m'en excuse par avance.

voici mon code :
_______________________________________________________________
main.h
typedef struct Personne Personne;
struct Personne{
char prenom[100];
char nom[100];
long age;
};

void initPersonne(Personne* pers);

...
________________________________________________________________

main.c
#include <stdio.h>
#include <stdlib.h>
#include "main.h"

int main()
{
Personne joueur1, joueur2;

initPersonne(&joueur1);
initPersonne(&joueur2);

...

return 0;
}

void initPersonne(Personne* pers)
{
pers->prenom = ""; // ou (*pers).prenom
pers->nom = "";
pers->age = 0;
// C'est ici que j'ai des Error : incompatible types in assignment
// mais uniquement pour nom et prenom.
// Erreur identique si je mets NULL a la place des ""
}
_____________________________________________________________________

voici le log :

main.c||In function `initPersonne':|
main.c|59|error: incompatible types in assignment|
main.c|60|error: incompatible types in assignment|
||=== Build finished: 2 errors, 0 warnings ===|

lundi 28 juin 2010 à 16:01:25 | Re : Erreur dans un code à priori simple... je ne comprends pas l'erreur.

CptPingu

Administrateur CodeS-SourceS
Si tu veux initialiser les chaînes à vide, tu ne peux pas le faire comme cela.

Au choix:
- Tu peux utiliser "memset" pour intialiser toutes les cases du tableau à 0 => memst(pers->prenom, 0, 100);
- Plus rapide, tu ne mets que le premier éléments à 0, puisque une chaîne de caractères s'arrêtent de toute façon au caractère terminal 0 => pers->prenom[0] = 0;

_____________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
lundi 28 juin 2010 à 16:59:02 | Re : Erreur dans un code à priori simple... je ne comprends pas l'erreur.

joshua91


Merci beaucoup, en effet je comprends mieux ;)
La 2e solution est plus rapide et est de mon niveau.

Venant du JAVA, les chaines de caractère en C c'est à s'arracher les cheveux!!


Cette discussion est classée dans : erreur, main, pers, prenom, initpersonne


Répondre à ce message

Sujets en rapport avec ce message

DEV-C++ 4.9.8.0 [ par norton ] Bonjour,j'ai installé DEV-C++ 4.9.8.0 et quand je compile mon programme j'obtien une erreur :dans l'onglet compiler l'erreur est :- C:\tunel\projet\M Problème de makefile... Erreur bizarre... [ par z980x ] Bonjour à tous ! J'ai un problème lors d'un makefile... Voila l'erreur qu'il me retourne: [philippe@localhost projet1_compil]$ make gcc -c main.cpp Erreur de segmentation [ par freekid ] Bonjour tout le monde,voila je suis débutant en programmation c++.Et ma joie s'est arrété lorsqu'une erreur impossible(pour moi) à enlever est apparue tableau dans une fonction [ par meksoft002 ] salut, je vouderais mettre la dimension d'un tableau a partir d'une fonction mais..l'éxecution ne se termine pas quand je la lance void creer(Personn WXWIDGETS et linux [ par boutonnet ] Bonjour, je galère a essayer de faire fonctionner les wxwidgets sur ma mandrake avec eclipse. autant dire que je n'y arrive pas, j'ai suivi a la lettr SDL_main [ par asmanur ] J'ai un problème avec la SDL avant j'étaient sous GLUT et je suis passé sous la SDL. Donc voila je compile aucune erreur, pas de erreur de link sauf u L'erreur Setlayeredwindowattributes HELP !!! [ par MorbhAck ] J'ai pu voir sur ce site des sources pour créé des fenêtre transparentes ! Cool sa m'interresse A MORT !Le problème, le voici :    - J'utilise Visual Erreur de compilation ... [ par Tidam ] RE bijour a tous ! Voila quand je compil sous linux ma source, j'obtient les erreurs suivante : main.cpp:239: void value not ignored as it ought to be erreur compiling [ par blinix123 ] hello allPB: je lance VisualC++, je fais nouveau projet vide, nouveau fichier -> main.c la je tape les lignes de code: #include #include int main (i


Nos sponsors


Sondage...

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,562 sec (3)

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