Bonjour à tous,
Voici un ptit bout de code, ayant pour but de récupérer un flux en héxa d'un fichier MPEG et d'en tirer des informations (en-tête, ID, ...). Le main commence par :
char *ip_filepath; // Récupération de la ligne de commande
...
...
...
...
int main(int argc, char *argv[])
{
if (argc == 1)
{ display_usage();
exit_prog(""); }
while ((argc > 1) && (argv[1][0] == '-')) {
switch (argv[1][1]) {
case 'i':
ip_filepath = &argv[1][2];
break;
case 'p':
search_Packet_Identification = atoi(&argv[1][2]);
break;
case 'q':
quite_mode = 1;
break;
default:
printf("Bad option %s\n", argv[1]);
display_usage();
exit_prog("");
}
++argv;
--argc;
}
ip_file_length = get_ip_file_length(ip_filepath);
printf("Opening MPEG-2 file %s, %d bytes.\n", ip_filepath, ip_file_length);
printf("Search PID : %d", search_PID);
ip_file = fopen(ip_filepath, "rb");
char menu_choice = 0;
find_TS_sync_byte();
display_sync_byte_table(); // display location of sync_bytes
fseek(ip_file, sync_bytes[1], 0); // go back to first sync_byte
menu_choice = menu(); // display menu options
switch (menu_choice) // decode menu choice
{
case '1' : // TS header decode
menu_option1();
break;
case '2' : // PID address table
menu_option2();
break;
case '3' : // Save PID address table
menu_option3();
break;
case '4' : // Extract PES
menu_option4();
break;
case '5' : // exit
exit_prog("");
break;
default:
puts("\nERROR : Not a valid menu entry.");
}
exit_prog("");
return 0;
}
Je ne comprends pas du tout les lignes/portions de code suivantes :
1) while ((argc > 1) && (argv[1][0] == '-'))
2) argv[1][1])
3) search_PID = atoi(&argv[1][2]);
4) pourquoi menu() est tout seul ? Erreur de compilation...
Quelqu'un pourrait-il m'expliquer <souligne>clairement</souligne> en faisant référence au problème de base ? (récupération d'information d'un flux MPEG en héxa en indiquant le chemin du fichier mpeg monfichier.mpg présent sur l'ordi.
Je suis au courant qu'il y a un tuto sur les paramètres de la fonction main, MERCI mais il ne répond pas à mes interrogations..
Je suis prêt à éclaircir tous points obscurs, après la pause déjeuner ;-)
Bonne journée à tous et merci à tous ceux qui voudront bien m'aider.