You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
1.5 KiB

# options
## Instructions
5 years ago
Écrire un programme qui prend un nombre indéfini d'arguments qui peuvent être considérés comme des `options` et qui affiche sur la sortie standard une représentation de ces `options` comme groupes de `bytes`(octets) suivi d'un retour à la ligne (`'\n'`).
- Une `option` est un argument qui commence avec un `-` et qui peux avoir de multiples caractères qui peuvent être :
5 years ago
-abcdefghijklmnopqrstuvwxyz
- Toutes les `options` sont stockées dans un seul `int` et chaque `option` représente un bit de cet `int`, et doit être stocké comme ci-dessous :
- 00000000 00000000 00000000 00000000
- ******zy xwvutsrq ponmlkji hgfedcba
- L'éxécution du programme sans argument ou avec l'option `-h` activée doit afficher toutes les `options` valides sur la sortie standard, comme montré dans un des exemples ci-dessous.
- Une mauvaise `option` doit afficher `Invalid Option` suivi d'un retour à la ligne.
## Utilisation
```console
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test | cat -e
options: abcdefghijklmnopqrstuvwxyz$
student@ubuntu:~/[[ROOT]]/test$ ./test -abc -ijk | cat -e
00000000 00000000 00000111 00000111$
student@ubuntu:~/[[ROOT]]/test$ ./test -z | cat -e
00000010 00000000 00000000 00000000$
student@ubuntu:~/[[ROOT]]/test$ ./test -abc -hijk | cat -e
options: abcdefghijklmnopqrstuvwxyz$
student@ubuntu:~/[[ROOT]]/test$ ./test -% | cat -e
Invalid Option$
student@ubuntu:~/[[ROOT]]/test$
```