Erreur étrange sur lecture d'un caractère de argv...
1 réponse
Eddahbi Karim
Salut,
Je suis toujours dans mes exercices, je vous poste là juste une
fonction, c'est pas compilable, je sais, mais après avoir lancé le
débugger et valgrind, j'en conclus que l'erreur est ici à la ligne 72.
Je vous poste l'intégrale du fichier (pour que vous puissiez localiser
la ligne 72)
/* No arguments : stop ! */
if ( argc == args_min )
{
fprintf(stderr, "No arguments given\n");
puts("Insert an argument. See --help for more information");
err = EXIT_FAILURE;
}
/* Treat each argument until there's no more */
else
{
while ( argc != 0 && err == EXIT_SUCCESS )
{
/* First char isn't a '-' : void this argument */
if ( **argv != '-' ) /* <- Le probleme survient ici :-\ */
{
void_string( &*argv );
}
else /* It's a parameter, execute it */
{
err = basic_options( *argv );
}
/* If everything is fine, go to the next argument */
if ( err != EXIT_FAILURE )
{
argv = argv + 1;
argc = argc - 1;
}
}
}
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
AG
tu peux nous montrer ce que tu mets dans argv ? Comment tu le déclares etc...
Eddahbi Karim wrote:
Salut,
Je suis toujours dans mes exercices, je vous poste là juste une fonction, c'est pas compilable, je sais, mais après avoir lancé le débugger et valgrind, j'en conclus que l'erreur est ici à la ligne 72.
Je vous poste l'intégrale du fichier (pour que vous puissiez localiser la ligne 72)
/* No arguments : stop ! */ if ( argc == args_min ) { fprintf(stderr, "No arguments givenn"); puts("Insert an argument. See --help for more information"); err = EXIT_FAILURE; }
/* Treat each argument until there's no more */ else { while ( argc != 0 && err == EXIT_SUCCESS ) {
/* First char isn't a '-' : void this argument */ if ( **argv != '-' ) /* <- Le probleme survient ici :- */ { void_string( &*argv ); }
else /* It's a parameter, execute it */ { err = basic_options( *argv ); }
/* If everything is fine, go to the next argument */ if ( err != EXIT_FAILURE ) { argv = argv + 1; argc = argc - 1; } } }
/* Initialize each element to 0 */ for( i = 0; i < FIRST_DIM_SIZE(*string); i++ ) { string[i] = 0; }
(void) printf("Voided %sn", *string);
}
(Le dernier printf sera enlevé une fois que le programme sera fini. Pour l'instant il me permet de détecter d'éventuels bugs).
Voilà, Si vous avez une idée
tu peux nous montrer ce que tu mets dans argv ? Comment tu le déclares
etc...
Eddahbi Karim wrote:
Salut,
Je suis toujours dans mes exercices, je vous poste là juste une
fonction, c'est pas compilable, je sais, mais après avoir lancé le
débugger et valgrind, j'en conclus que l'erreur est ici à la ligne 72.
Je vous poste l'intégrale du fichier (pour que vous puissiez localiser
la ligne 72)
/* No arguments : stop ! */
if ( argc == args_min )
{
fprintf(stderr, "No arguments givenn");
puts("Insert an argument. See --help for more information");
err = EXIT_FAILURE;
}
/* Treat each argument until there's no more */
else
{
while ( argc != 0 && err == EXIT_SUCCESS )
{
/* First char isn't a '-' : void this argument */
if ( **argv != '-' ) /* <- Le probleme survient ici :- */
{
void_string( &*argv );
}
else /* It's a parameter, execute it */
{
err = basic_options( *argv );
}
/* If everything is fine, go to the next argument */
if ( err != EXIT_FAILURE )
{
argv = argv + 1;
argc = argc - 1;
}
}
}
tu peux nous montrer ce que tu mets dans argv ? Comment tu le déclares etc...
Eddahbi Karim wrote:
Salut,
Je suis toujours dans mes exercices, je vous poste là juste une fonction, c'est pas compilable, je sais, mais après avoir lancé le débugger et valgrind, j'en conclus que l'erreur est ici à la ligne 72.
Je vous poste l'intégrale du fichier (pour que vous puissiez localiser la ligne 72)
/* No arguments : stop ! */ if ( argc == args_min ) { fprintf(stderr, "No arguments givenn"); puts("Insert an argument. See --help for more information"); err = EXIT_FAILURE; }
/* Treat each argument until there's no more */ else { while ( argc != 0 && err == EXIT_SUCCESS ) {
/* First char isn't a '-' : void this argument */ if ( **argv != '-' ) /* <- Le probleme survient ici :- */ { void_string( &*argv ); }
else /* It's a parameter, execute it */ { err = basic_options( *argv ); }
/* If everything is fine, go to the next argument */ if ( err != EXIT_FAILURE ) { argv = argv + 1; argc = argc - 1; } } }