Guizmo95
Messages postés28Date d'inscriptionmardi 21 juin 2005StatutMembreDernière intervention 2 novembre 2006
-
21 juin 2005 à 09:41
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
21 juin 2005 à 19:36
Bonjour,
Voilà mon problème
:
J'ai le code suivant :
char *buffer;
sprintf(buffer,"DELETE
FROM patient WHERE num_typepaid 7 AND impai 0 AND heure_entrer
<=
%0.2d%0.2d00 AND
Le problème étant
que le code fonctionne bien mais que quelque fois, c'est à
dire que si je fait une boucle sur se code au bout d'un moment la
mémoire sature... j'ai ce message d'erreur :
"L'instruction à
"0x00406b87" emploie l'adresse mémoire "0x317590c8".
La mémoire ne peut pas être "written"..."
Et si je met free(buffer);
alors la requête ne s'effectue pas une seule foie et j'ai ce
message d'erreur :
Guizmo95
Messages postés28Date d'inscriptionmardi 21 juin 2005StatutMembreDernière intervention 2 novembre 2006 21 juin 2005 à 13:22
Et bien, la requête fonctionne... après c'est vrai que sa parai bizard... de toute manière que je mette
buffer = malloc(sizeof (char*)*10);
ou
buffer = malloc(sizeof (char*)*50);
ou
buffer = malloc(sizeof (char*)*100);
J'ai toujours le même message d'erreur... :-(
et y avait pas besoin d'alloc ni desalloc, pour 100 octets ça va impec sur la pile le temps de l'appel et tu gagnes les appels au memory manager qui sont très couteux.