Bonjour à tous,

Le code compile mais:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
char *buff[2048] = {0};
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
 
 while ( NULL != fgets( basebuf, sizeof basebuf, Input ) ) {
      if ( ( ln = strlen( basebuf ) ) > 1 ) {
         buff[ligne] = ( char * ) malloc( ( ln * sizeof( char ) ) + 1 );
 
               if ( *( buff + ligne ) != NULL )
                 strcpy( buff[ligne], basebuf);
               else
                  printf ( "\nLigne: %d  Mémoire non allouée. %p\n", __LINE__, *( buff + ligne ) );
         ligne++;
      }
   }
   fflush( stdout );
 
   return ligne-1;
}

crash:
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
17
18
19
 
 
	/* de la faq*/
	int pstrcmp(const void * p1, const void * p2)
	{
		return strcmp(*(char * const *)p1, *(char * const *)p2);
	}
 
/*    MAIN    */
 
int main(void)
{
int i;
int lines;
 
lines = fichierdInput(stdin);
printf ("\n%d\n", lines);
 
qsort (buff, lines, sizeof(buff), pstrcmp);
Pourquoi ne pas envoyer strcmp (ça ne fonctionne pas) ?