3
Я хочу сохранить вывод PRINTF в массив, как показано ниже:Как получить выход системы в awk?
op[i] = system("printf \"%d\\n\" \"" SQ substr($1,i,1) "\"")
но когда я называю их, они просто 0?!
Знаете ли вы, почему !?
'системы()' возвращает 0, следовательно, это то, что вы получите. Вам нужно будет использовать поток, чтобы получить фактический вывод в виде строки. Кроме того, printf является системной командой? Если вы пытаетесь использовать функцию C++ для printf, вы не должны использовать 'system()'. – Griffin
У awk есть собственная функция printf ИЛИ вы можете использовать 'string' printf, то есть 'ar [0] = sprintf (.....)' – shellter
@Griffin: Существует ['printf'] (http: // пабы .opengroup.org/onlinepubs/9699919799/utilities/printf.html), которая немного похожа на «echo» на то, что она передает данные на стандартный вывод, но под управлением строки формата, такой как 'printf()' (функция). –