Erreur de segmentation (C)
Fermé
Axblade28
Messages postés
95
Date d'inscription
jeudi 4 octobre 2007
Statut
Membre
Dernière intervention
18 décembre 2010
-
18 déc. 2010 à 22:08
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 18 déc. 2010 à 23:01
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 18 déc. 2010 à 23:01
A voir également:
- Erreur de segmentation (C)
- Erreur 0x80070643 - Guide
- Segmentation fault (core dumped) ✓ - Forum Programmation
- Code erreur f3500-32 ✓ - Forum Bbox Bouygues
- Erreur 10016 epson - Forum Imprimante
- Erreur c2002 western union ✓ - Forum Vos droits sur internet
8 réponses
nic244
Messages postés
112
Date d'inscription
lundi 6 décembre 2010
Statut
Membre
Dernière intervention
23 janvier 2011
8
18 déc. 2010 à 22:11
18 déc. 2010 à 22:11
defragmente tout le dossier du programme
Axblade28
Messages postés
95
Date d'inscription
jeudi 4 octobre 2007
Statut
Membre
Dernière intervention
18 décembre 2010
7
18 déc. 2010 à 22:25
18 déc. 2010 à 22:25
c'est à dire ?
nic244
Messages postés
112
Date d'inscription
lundi 6 décembre 2010
Statut
Membre
Dernière intervention
23 janvier 2011
8
18 déc. 2010 à 22:31
18 déc. 2010 à 22:31
tu clique droit sur le dossier puis selectionne defragmenter si tu n'as pas cette options tu tape dans la commande defragmentation ou defragmenteur et tu verra le programme s'afficher puis clique dessus et fais une defragmentation complete de l'ordinateur
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 835
18 déc. 2010 à 22:45
18 déc. 2010 à 22:45
Loool. Faut pas confondre fragmentation et segmentation ^^. Rien à voir.
nic244
Messages postés
112
Date d'inscription
lundi 6 décembre 2010
Statut
Membre
Dernière intervention
23 janvier 2011
8
18 déc. 2010 à 22:31
18 déc. 2010 à 22:31
si tu n'as pas de logiciel de defragmentation je te conseil auslogic disk defrag ;) il est gratuit
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Axblade28
Messages postés
95
Date d'inscription
jeudi 4 octobre 2007
Statut
Membre
Dernière intervention
18 décembre 2010
7
18 déc. 2010 à 22:35
18 déc. 2010 à 22:35
Je pense pas que cela vienne de ça car le programme est pour le moment très simple je viens d'isoler l'unique fonction, je pense que ce n'est pas à cause d'un fichier fragmenté.
nic244
Messages postés
112
Date d'inscription
lundi 6 décembre 2010
Statut
Membre
Dernière intervention
23 janvier 2011
8
18 déc. 2010 à 22:37
18 déc. 2010 à 22:37
fait ce que tu veux jte donne juste un conseils par rapport a ce que je sais ;)
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 835
18 déc. 2010 à 22:47
18 déc. 2010 à 22:47
Bonjour,
Le problème vient du pointeur.
char *tableau;
tableau[i]=...;
Ce n'est pas bon et cela provoque une erreur de segmentation puisque t'écris dans une zone non allouée.
Il faut que tu réalises l'allocation avec malloc. Par exemple : tableau=malloc(taille);
Ensuite tu pourras écrire dans le tableau.
Ou alors si tu connais la taille à l'avance tu peux faire directement : char tableau[TAILLE];
Cdlt,
Le problème vient du pointeur.
char *tableau;
tableau[i]=...;
Ce n'est pas bon et cela provoque une erreur de segmentation puisque t'écris dans une zone non allouée.
Il faut que tu réalises l'allocation avec malloc. Par exemple : tableau=malloc(taille);
Ensuite tu pourras écrire dans le tableau.
Ou alors si tu connais la taille à l'avance tu peux faire directement : char tableau[TAILLE];
Cdlt,
Axblade28
Messages postés
95
Date d'inscription
jeudi 4 octobre 2007
Statut
Membre
Dernière intervention
18 décembre 2010
7
18 déc. 2010 à 22:48
18 déc. 2010 à 22:48
Je le fais ca n'a rien changé :/
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 835
18 déc. 2010 à 23:01
18 déc. 2010 à 23:01
C'est que tu as une autre erreur ailleurs ou que tu l'as mal fait.
Par exemple, tu peux pas te permettre de faire malloc(10) comme ça. Il faut connaître le nombre d'éléments par avance.
Fais l'essai avec un petit fichier de 50 caractères. Et fais une allocation de 50, là ça marchera.
Par exemple, tu peux pas te permettre de faire malloc(10) comme ça. Il faut connaître le nombre d'éléments par avance.
Fais l'essai avec un petit fichier de 50 caractères. Et fais une allocation de 50, là ça marchera.