pb!!!! unhandled exception..... : access violation

pb!!!! unhandled exception..... : access violation - C++ - Programmation

Marsh Posté le 04-02-2003 à 23:49:37    

:cry:  
le C c'est caca!
ça marche pa!
c'est bon que pour les chats!
 :sweat:  
 
 
 :hello:  
c'est je pense une erreur d'alloc mémoire, mais je sé pa comen l'empecher :  
 
struct client
{ char* nom;
struct adresse adr;
};
 
struct client *cl;
 
void enregistrer()
{
 int i = 0;
 while(cl[i].nom != "" ) // ça plante là!!!!!!
 {i++;}

Reply

Marsh Posté le 04-02-2003 à 23:49:37   

Reply

Marsh Posté le 04-02-2003 à 23:53:01    

Vandekerput a écrit :

:cry:  
struct client *cl;
 
void enregistrer()
{
 int i = 0;
 while( cl[i] .nom != "" ) // ça plante là!!!!!!
 {i++;}


 
C'est quoi ce delire, tu declare un pointeur sur ta structure client et tu essayes d'acceder a un tableau de client.
Si t'a besoin d'un tableau il faut allouer la memoire avec malloc...


Message édité par fykman le 04-02-2003 à 23:53:41
Reply

Marsh Posté le 04-02-2003 à 23:57:04    

fykman a écrit :


 
C'est quoi ce delire, tu declare un pointeur sur ta structure client et tu essayes d'acceder a un tableau de client.
Si t'a besoin d'un tableau il faut allouer la memoire avec malloc...


 
!hop!hop!hop! t'énerve pa  :o  
je sui un débutant en C, cé mon 2ème prog, c'est la première foi ke j'utilise les pointeurs...bref j'sui une bille, et en plus j'ai rien compri ton explication...
j'ai fais ça avant, mais ça marche po
 
cl[i].nom = (char*)malloc(255);
cl[i].adr.rue = (char*)malloc(255);
cl[i].adr.ville = (char*)malloc(255);

Reply

Marsh Posté le 04-02-2003 à 23:57:56    

:whistle:  
 
 :hello:


---------------
Tout ce qui monte redescend un jour ...
Reply

Marsh Posté le 04-02-2003 à 23:59:53    


vien pa pourrir mon tomic !!!!!!!
 :cry:  :cry:  :cry:  
vilain monsieur, t'es méchant...  :cry:  :cry:  

Reply

Marsh Posté le 05-02-2003 à 00:02:50    


ok je me calme ,  ;)  
 
essaye ca :
 
void enregistrer()  
{  
int i = 0;
 
n = ?? //le nombre de client que veux pouvaoir rentrer
cl = (client)malloc(n*sizeof(client));
 
while(cl[i].nom != "" ) // ça plante là!!!!!!  
{i++;}
.....
.....
free(cl);
}
 
mais je suis pas sur de la syntaxe...

Reply

Marsh Posté le 05-02-2003 à 00:05:15    

Tu declare un pointeur sur une structure client et après t'essai d'acceder sous la forme d'un tableau, ca po pas marcher

Reply

Marsh Posté le 05-02-2003 à 00:05:20    

ok, j'essay et j'te di
 :jap:

Reply

Marsh Posté le 05-02-2003 à 00:06:54    

Vandekerput a écrit :

ok, j'essay et j'te di
 :jap:  


 
il faut faire pareil pour ta structure adresse

Reply

Marsh Posté le 05-02-2003 à 00:08:17    

Poula j'ai rien dis, torché moi
Essaye ca :
cl = (struct client *)malloc(nb_elements * sizeof(struct client));

Reply

Marsh Posté le 05-02-2003 à 00:08:17   

Reply

Marsh Posté le 05-02-2003 à 00:10:06    

Ok trois plomb de rtard, vais m'coucher moi  :sleep:

Reply

Marsh Posté le 05-02-2003 à 00:12:25    

désolé...mé ça marche po  :cry:

Reply

Marsh Posté le 05-02-2003 à 00:12:57    

Vandekerput a écrit :

désolé...mé ça marche po  :cry:  


 
il te dis quoi ?
 
donne le code complet


Message édité par fykman le 05-02-2003 à 00:13:32
Reply

Marsh Posté le 05-02-2003 à 00:15:14    


void enregistrer()
{
 int i = 0;
 
 while(cl[i].nom != "" )
 {i++;}
//cl = (struct client *)malloc(255 * sizeof(struct client));
 cl[i].nom = (char*)malloc(255);
 cl[i].adr.rue = (char*)malloc(255);
 cl[i].adr.ville = (char*)malloc(255);
 
 printf("ENREGISTREMENT D'UN CLIENT\n" );
 printf("Entrez le nom du client :" );
 scanf("%s",&cl[i].nom);
 printf("Entrez la rue du client :" );
 scanf("%s",&cl[i].adr.rue);
 printf("Entrez l'adresse du client :" );
 scanf("%s",&cl[i].adr.ville);
 printf("Entrez le Code Postal du client :" );
 scanf("%d",&cl[i].adr.cp);
 
}
 
c'est tout ce ki y'a, et il plante toujours au même endroit...

Reply

Marsh Posté le 05-02-2003 à 00:20:08    

pa grave, j'commence à m'endormir, en plus j'ai codé du PB toute la journée collée à l'écran du boulo...alor maintenant un supo et dodo!!!
merci kan même, à une prochaine fois peut-être
 :jap:   :hello:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed