может кто угодно, пожалуйста, дайте мне знать, как я могу использовать следующую команду gawk в c? например, мы используем некоторые команды оболочки внутри c, используя функцию «system». далее я хочу дать число ниже команды, т.е. 6,2,8 в качестве параметров.using gawk inside c
gawk -v FIELDWIDTHS='6 2 8' 'NR!=1 && x==$1{printf(" %d:%d",strtonum("0x"$2),strtonum("0x"$3)); next}; {x=$1; printf("%s%s %d:%d", NR==1?"":"\n", $1,strtonum("0x"$2),strtonum("0x"$3))}; END{print ""}' input.txt | sed '/^[0-9a-f]* [0-9:]*$/d' > result.txt
спасибо, любая помощь будет принята с благодарностью.
И почему вы не можете просто использовать систему() для ее вызова? –
Я попытался использовать system(), но я получаю следующую ошибку: prog.c: 73: error: 's 'uneclared (первое использование в этой функции) prog.c: 73: error: (Каждый необъявленный идентификатор только сообщается один раз prog.c: 73: ошибка: для каждой функции она появляется.) prog.c: 73: ошибка: синтаксическая ошибка до строковой константы prog.c: 73: ошибка: блуждание '\' в программе – mezda
@ user1182722 Вам нужно избегать квот и обратных косых черт при вставке их в строковый литерал: '... $ 1 {prinf \"% d:% d \ ", ...', '...: \" \\ n \ ", ..." и так далее. –