Есть ли способ игнорировать флаги после ввода файлов в getopt_long?
Я пишу реализацию cat с поддержкой флагов GNU версий, поэтому мне нужно использовать не getopt, а getopt_long.
Вот вывод оригинального cat, если флаг стоит после файла:
pe@vo-k7 cat % cat test_1_cat.txt -n
str !
end.
А вот вывод моего cat в такой же ситуации:
pe@vo-k7 cat % ./my_cat test_1_cat.txt -n
1
2 str !
3
4
5
6
7 end.
8
Как я поняла, это происходит потому, что getopt_long сортирует вводимую строку и, таким образом, находит флаг -n. Можно ли сделать так, чтобы он его не видел?
Еще я почитала про POSIXLY_CORRECT, который прерывает обработку, когда встречает первый аргумент, не являющийся флагом. Но, как поняла, работа с ним возможна непосредственно в bash, но нужно, чтобы всё работало сразу с запуском программы, без дополнительных манипуляций перед этим.