Erreur segmentation sur raspberry pi
Résolu
Pritax
Messages postés
333
Date d'inscription
Statut
Membre
Dernière intervention
-
Pritax Messages postés 333 Date d'inscription Statut Membre Dernière intervention -
Pritax Messages postés 333 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je vous contacte car j'ai un problème,
mon prog fonctionne très bien sur pc (Ubuntu 12.04), mais dès que je l'exécute sur raspberry PI, j'ai une erreur de segmentation.
le fichier est de la forme :
AAA$bbbbbbb$ccccccc$dddddddddddd$eeeeeeeee .
apparemment l'erreur serai au niveau de fopen mais je n'y arrive pas, un peu d'aide serait la bien venue :)
je vous contacte car j'ai un problème,
mon prog fonctionne très bien sur pc (Ubuntu 12.04), mais dès que je l'exécute sur raspberry PI, j'ai une erreur de segmentation.
void parser(char *fich,char fichxml[30][40]){ char c; char buffer[500]; char* input = fich; FILE *input_file; input_file = fopen(input, "r"); if (input_file == 0) { //fopen returns 0, the NULL pointer, on failure perror("Canot open input file\n"); printf("erreur xml"); } else { int i=0; int j=0; while ((c =fgetc(input_file)) != EOF ) { if(c != '$'){ fichxml[j][i]=c; i++; } else{ fichxml[j][i]='\0'; j++; i=0; } } fichxml[j][i] = '\0'; } fclose(input_file); int comp=0; for(comp=0;comp<20;comp++){ printf("%s\n",fichxml[comp]); } }
le fichier est de la forme :
AAA$bbbbbbb$ccccccc$dddddddddddd$eeeeeeeee .
apparemment l'erreur serai au niveau de fopen mais je n'y arrive pas, un peu d'aide serait la bien venue :)
A voir également:
- Raspberry segmentation fault
- Erreur de segmentation c ✓ - Forum C++
- Zsh: segmentation fault ✓ - Forum Programmation
- Zsh segmentation fault ✓ - Forum Assembleur
- Reset raspberry pi ✓ - Forum Debian
- Scanf segmentation fault ✓ - Forum Programmation
2 réponses
char c;
int c; serait mieux.
if (input_file == 0)
Ce n'est pas à 0 qu'il faut comparer mais à NULL.
Comment est déclaré et initialisé fich ?
Je ne vois pas de vérification d'écriture dans le tableau. Car si ton fichier contient plus de 40 '$' consécutifs, ça plante. De même poru le nombre de lignes.
int c; serait mieux.
if (input_file == 0)
Ce n'est pas à 0 qu'il faut comparer mais à NULL.
Comment est déclaré et initialisé fich ?
Je ne vois pas de vérification d'écriture dans le tableau. Car si ton fichier contient plus de 40 '$' consécutifs, ça plante. De même poru le nombre de lignes.