Вот эти самые 300 строк и надо записать в текстовый файл. Ну или не эти - а все команды, которые надо выполнять.и так далее 300 строкsudo dhcdrop -i enp2s0.1092 -y -l 0C:5E:6B:02:81:6B -m 86400 sudo dhcdrop -i enp2s0.1148 -y -l 0C:5E:6B:02:81:6B -m 86400 sudo dhcdrop -i enp2s0.1578 -y -l 0C:5E:6B:02:81:6B -m 86400 sudo dhcdrop -i enp2s0.2645 -y -l 0C:5E:6B:02:81:6B -m 86400
prog1 | prog2
Тут возникают два связанных потока, по одному у каждой программы; у первой он связан с stdout (fd=1), у второй - с stdin (fd=0).&&
for (i=1,j=100,k=z; i<100; i++,j--,k<<=1) { ну и дальше тело цикла}
И операторы через запятую - можно сгруппировать в один кр.скобками.char userGetLine[256]; // строка для чтения
Буфер фиксированного размера? А если строка будет больше?fgets(answer, sizeof(answer), stdin); // считываем строку
Откуда тут answer? Что это за переменная?while ((sscanf(userGetLine, "%c", &confirm) != 'Y') || (sscanf(userGetLine, "%c", &confirm) != 'y') || (sscanf(userGetLine, "%c", &confirm) != 'N') || (sscanf(userGetLine, "%c", &confirm) != 'n') )
Это вообще ужас. Поскольку строка ввода у нас в массиве userGetLine - нам не надо делать sscanf, достаточно взять соответствующий символ (элемент массива).