Bonjour,
Je suis un peu confus en ce qui concerne strcmp et strncmp.
Il a été expliqué de ne pas utiliser strcmp , car c'était préférable d'utiliser strncmp (pour forcer le max de nombre de caractères lus).
Ce qui me perturbe, c'est l'utilisation de strcmp dans le cours 10, slide 8:
Je me suis demandé pourquoi ne pas utiliser strncmp(argv[0], "-P", 2), mais je me suis dit que c'était logique pour éviter d'entrer dans le "if" avec un argument comme
"-Pblabla".
Par contre, en utilisant strcmp, ne risquerait-on pas d'avoir un buffer overrun (comme on n'a pas fixé la taille à lire), et donc lire à des endroits dans lesquels on ne devrait pas?
Qu'est-ce qu'on pourrait faire dans ce cas-là? Est-ce que ce serait une solution d'utiliser strncmp(argv[0], "-P", 2) puis de tester que argv[0][2] vaut bien '\0'?
Merci d'avance!