C-значение scanf непосредственно из терминала
У меня есть процесс c, который ожидает ввода scanf()
.
Я хочу сохранить его результаты в файл *.txt
.
To terminal (linux)
./process > out.txt
Как можно написать в терминале scanf prehand?
Спасибо.
1 ответ:
Для приведенной ниже программы вы можете ввести как.
#include <stdio.h> int main () { int i = 0; scanf("%d", &i); printf("Value of i = %d\n", i); return 0; }
$ gcc -o exe file.c $ echo 2 | ./exe Value of i = 2
|
илиpipeline
соединяет две команды вместе так, что выход из одной программы становится входом следующей программы.Обновление:
Если вы хотите прочитать строку или строки и ИНЦ вместеint i = 0; char str[20]; scanf("%d%s", &i, str); printf("Value of i = %d\nValue of str = %s\n", i, str);
$ echo "45 John" | ./exe # Ensure your input sequence is correct # Value of i = 45 Value of str = John
Для сохранения выходных данных в файл
output.txt
$ echo "45 John" | ./exe > output.txt $ cat output.txt Value of i = 45 Value of str = John