2011-01-12 11 views
5

Con C/C++, getopt_long() se puede utilizar para analizar argumentos de línea de comandos. ¿Es posible decirle a la función que algunas de las opciones son obligatorias? Por ejemplo, ¿cómo puedo decir getopt_long que el análisis debería dar error si se llama a startServer sin mencionar el puerto a continuación?Opciones obligatorias con getopt_long() en C

./startServer -port 80

Nota: No estoy hablando de argumentos opcionales como obligatorios, sino más bien las propias opciones.

+0

dudo que haya una manera. hacer un seguimiento de si esa opción se ha visto? – lijie

Respuesta

5

getopt_long() no es parte del lenguaje C. Es una invención de GNU que está disponible en algunas implementaciones de C, pero está lejos de todo.

La versión de getopt_long() en glibc (utilizada en la mayoría de las distribuciones de Linux) no le permite especificar que una opción es obligatoria. Deberá verificarlos explícitamente después de que haya terminado de analizar la línea de comando.

Cuestiones relacionadas