Bonjour. Je resitue le projet que je dois réaliser : un programme qui doit donner l'arborescence du repertoire racine d'un serveur donné en paramétre, en extraire les fichiers web, scanner les liens et indiquer les liens morts.
L'astuce consiste à coder un programme fonctionnant sous Windows ET sous Linux.
Sous Windows, pas de probléme (enfin si, y'en a eu mais ca marche)
Sous Linux, là, ca marche pas. Aucune erreur à la compilation, même pas un warning sur les 400 lignes de code mais à l'execution, je me prend un trés propre "erreur de segmentation". J'ai localisé le probléme
Je ne met que ce qui me semble essentiel. L'allocation de mémoire ne se fait pas sous Linux. Pourquoi se fait-elle sous Windows sans soucis. Dois je me résoudre à faire un tableau statique ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <dirent.h> # define MAX 1000 int main(int argc, char *argv[]) { char **tableauRep; tableauRep=(char**)malloc(MAX*sizeof(char*)); for (i=0;i<MAX;i++) /* initialisation du tableau qui reccueillera le noms des repertoires*/ { tableauRep[i]=(char*)malloc(300*sizeof(char)); }
Partager