compilation erreur - C++ - Programmation
Marsh Posté le 02-05-2010 à 05:01:15
Tu sais pas coder, abandonnes la programmation. Déjà i est toujours supérieur à 0 donc boucle infinie, ensuite faire des malloc de 10 c'est plus que crado (si quelqu'un rentre une chaîne plus grande que 10 caractère bim Access Violation), ensuite visiblement tu mets des trucs à tabch + i alors que tu malloc pas ton char ** (bin Access violation) donc ouais je suis un gros débutant en C mais ce code me défonce les yeux
Marsh Posté le 02-05-2010 à 13:10:33
well, j s8 une debutante as well, mais j vais pas abondonner la programmation!! mayby i'm not having l'encadrement necessaire, but any way, now i have an exam comming nd i need to know max!! j'avou there were som dumb mistakes, i've made somechanges, l'execution marche bien au bedut mais quand tu rentre la 5ém chaine, bin access violation as u say! if u can correct it plz do it nd thnx ::
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
int lecture(char **tabch,char *ch)
{
int i;
printf("donner une chaine\n" );
ch=(char*)malloc(100);
gets(ch);
i=0;
while(strcmp(ch,"fin" )!=0)
{
tabch=(char**)malloc(sizeof(char));
*(tabch+i)=ch;
(ch)=(char*)malloc(sizeof(char));
printf("donner une autre chaine\n" );
gets(ch);
puts(*(tabch+i));
i++;
}
return(i);}
void main()
{
char **tabch;
char *ch;
int x;
clrscr();
x=lecture(tabch,ch);
printf("%d",x);
getch();
}
Marsh Posté le 05-05-2010 à 09:57:23
Je n'ai pas bien compris ce que tu cherche a faire, mais une chose est sûre tu réinitialise ton tableau tabch a chaque passage dans ta boucle et ça qui pose problème. Essaye de l'initialiser une fois pour toute en dehors de cette boucle ça devrait corriger le problème.
Marsh Posté le 02-05-2010 à 03:25:05
hii,
well i'm having a serious pb with some program in C, i have an erreur mesage appearing after execution of the prog;"access violation"
here's the instructions:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
int lecture(char **tabch,char *ch)
{
int i;
printf("donner une chaine\n" );
ch=(char*)malloc(10);
gets(ch);
i=0;
while(strcmp(ch,"fin" )!=0||i>=0)
{
*(tabch+i)=ch;
(ch)=(char*)malloc(10);
printf("donner une autre chaine\n" );
gets(ch);
i++;
}
return(i);}
void main()
{
char **tabch;
char *ch;
int x;
clrscr();
x=lecture(tabch,ch);
printf("%d",x);
getch();
}
i'm in urgent need of help((((((((( plz help
thx any way