Я создаю небольшую программу, которая обрабатывает архив;который запускается так:
"./program file.txt".
Если второй параметр не найден, он будет обрабатываться из stdin
"cat file.txt | ./program"
Но внутри кода ... Я знаю, что могу сделать это:
if (argc==2){
FILE* archive = argv[1];
function_1(archive);
function_2(archive);
...
function_n(archive);
else{
function_1(stdin);
function_2(stdin);
...
function_n(stdin);
}
Но могу ли я в любом случае так поступить?
file* archive;
if (argc==2){
archive = argv[1];
else{
archive = stdin;
}
function_1(archive);
function_2(archive);
...
function_n(archive);
Потому что я хотел бы написать меньше кода!