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
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));
    }
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 ?