Использовать строку опций "d:"
Захват -d dopt
с optarg
обычным способом. Затем посмотрите на optind
(сравните его с argc
), который говорит вам, остались ли еще какие-либо неопционные аргументы. Если это так, ваше имя файла является первым из них.
getopt
специально не говорит вам, что такое неопционные аргументы, или проверяет число. Он просто сообщает вам, где они начинаются (сначала переместив их в конец массива аргументов, если вы находитесь в режиме GNU-строгий POSIX)