Certainement erreur d'allocation de memoire .....
Résolu
glupidon
-
glupidon -
glupidon -
Bonjour,
a peine sortie d'un problème un autre ce montre ....
( j'espère trouver autant d'aide que sur mon dernier post c'était cool )
je m'explique !
je cherche a afficher le contenue d'un fichier.txt dans mon programme !
ce dernier s'affiche ligne par ligne via ma fonction get_next_line .
pour le moment tout va bien , enfin presque !
quand , suite a sa je cherche a faire afficher (de la même manière) un autre fichier.txt
je retrouve des caractère de mon précédent fichier.txt qui viennent mettre le bazars dans ce nouvelle affichage ....
d'après moi le problème vient d'une erreur d'allocation mémoire mais qui reste invisible a mes yeux ....
je ne peut pas vous fournir de code compilable car sa reviendrais a vous envoyez mon projet entier donc sa risque d'être long ....
ci dessous les deux fonction qui me permette d'afficher mes fichier.txt
je vous présente également le fonction qui permet leur affichage
et voila le merveilleux résultat que cela me donne
this is the rules of the games
'----------------' '----------------' '----------------' '----------------'
ules of the games
'--is the ------' '----------------' '----------------' '----------------'
* the goal of this game is to
---------' '----------------'
achieve to leave the last
match.
* the person who will take the
last match will be the loser
ser
* you have the possibility to
remove one or various match
on a single line of your
choice .
press ENTER to play a games
voila je pense vous avoir donner le plus important !
merci de m'aider si vous le pouvez !!
a peine sortie d'un problème un autre ce montre ....
( j'espère trouver autant d'aide que sur mon dernier post c'était cool )
je m'explique !
je cherche a afficher le contenue d'un fichier.txt dans mon programme !
ce dernier s'affiche ligne par ligne via ma fonction get_next_line .
pour le moment tout va bien , enfin presque !
quand , suite a sa je cherche a faire afficher (de la même manière) un autre fichier.txt
je retrouve des caractère de mon précédent fichier.txt qui viennent mettre le bazars dans ce nouvelle affichage ....
d'après moi le problème vient d'une erreur d'allocation mémoire mais qui reste invisible a mes yeux ....
je ne peut pas vous fournir de code compilable car sa reviendrais a vous envoyez mon projet entier donc sa risque d'être long ....
ci dessous les deux fonction qui me permette d'afficher mes fichier.txt
int preliminary()
{
int fd;
char *head;
int l;
int nbr;
system("clear");
l = 0;
if ((fd = open("header.txt", O_RDONLY)) == -1)
return (0);
while (l < 42)
{
head = get_next_line(fd);
l++;
my_putstr(head);
}
my_putstr("\npress ENTER to continue or press 1 to read the rules\n");
if (read(0, head, 50) == -1)
return (0);
nbr = my_getnbr(head);
if (nbr == 1)
the_rules();
else
map();
return (0);
}
int the_rules()
{
int fd;
char *rule;
int l;
system("clear");
l = 0;
if ((fd = open("rules.txt", O_RDONLY)) == -1)
return (0);
while (l < 15)
{
rule = get_next_line(fd);
l++;
my_putstr(rule);
}
if (read(0, rule, 50) == -1)
return (0);
map();
return (0);
}
je vous présente également le fonction qui permet leur affichage
char *get_next_line(const int fd)
{
static int i;
char *str;
char *buffer;
int b;
int a;
a = 0;
b = 0;
if ((str = malloc(a)) == NULL)
return (0);
if (str[b] == '\n')
b = i + 1;
if ((buffer = malloc(a)) == NULL)
exit (1);
while (str[0] != '\n')
{
if ((read(fd, str, 1)) == -1)
{
my_putstr("error with read in fonction get_next_line\n");
exit (1);
}
buffer[a] = str[0];
a++;
i++;
}
free(str);
return (buffer);
}
et voila le merveilleux résultat que cela me donne
this is the rules of the games
'----------------' '----------------' '----------------' '----------------'
ules of the games
'--is the ------' '----------------' '----------------' '----------------'
* the goal of this game is to
---------' '----------------'
achieve to leave the last
match.
* the person who will take the
last match will be the loser
ser
* you have the possibility to
remove one or various match
on a single line of your
choice .
press ENTER to play a games
voila je pense vous avoir donner le plus important !
merci de m'aider si vous le pouvez !!
A voir également:
- Certainement erreur d'allocation de memoire .....
- Mémoire vive - Guide
- Nettoyer memoire iphone - Guide
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
2 réponses
bonjour tout le monde,
(bien qu'encore seul sur mon post pour le moment)
mon problème persiste !
pas moyen de trouver une solution adéquate !
je vais reformuler ma question, car en général je ne suis pas très claire
(je fais bref)
mais lorsque ce second "fichier.txt " s'affiche,
je retrouve a de nombreux endroits des caractères parasite qui proviennent tout droit du tout premier"fichier.txt" que j'ai affiché .
sa rend le second fichier quasiment illisible du-coup.
problème d'allocation ?
ou es due à l'appel système ?
pas la moindre idée !
n'hésitez pas à me laisser toutes vos idées ou conseilles !
elles sont les bienvenue ^^
dans l'attente de votre aide !
merci de votre attention !
PS : désoler pour les nombreuses fautes d'orthographe , on diraie certainement pas mais j'ai fait de mon mieux ..... dyslexie oblige !
(bien qu'encore seul sur mon post pour le moment)
mon problème persiste !
pas moyen de trouver une solution adéquate !
je vais reformuler ma question, car en général je ne suis pas très claire
(je fais bref)
- j'affiche une première fois un "fichier.txt" qui fonctionne bien
- je réalise un système (" clean ") ;
- je laisse à l'utilisateur le choix d'ouvrir d'autre fichier.txt
mais lorsque ce second "fichier.txt " s'affiche,
je retrouve a de nombreux endroits des caractères parasite qui proviennent tout droit du tout premier"fichier.txt" que j'ai affiché .
sa rend le second fichier quasiment illisible du-coup.
problème d'allocation ?
ou es due à l'appel système ?
pas la moindre idée !
n'hésitez pas à me laisser toutes vos idées ou conseilles !
elles sont les bienvenue ^^
dans l'attente de votre aide !
merci de votre attention !
PS : désoler pour les nombreuses fautes d'orthographe , on diraie certainement pas mais j'ai fait de mon mieux ..... dyslexie oblige !