Есть ли способ игнорировать флаги после ввода файлов в 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, но нужно, чтобы всё работало сразу с запуском программы, без дополнительных манипуляций перед этим.


Ответы (0 шт):