В C стандартный ввод доступен через глобальный дескриптор файла stdin
, поэтому нет необходимости открывать файл отдельно.
Чтобы прочитать пары целых чисел из стандартного ввода, вы можете просто использовать fscanf(...)
function , например:
// pairs.c
#include <stdio.h>
int main()
{
int addr, instr;
while (fscanf(stdin, "%d %d", &addr, &instr) == 2) {
printf("OK: addr=%d, instr=%d\n", addr, instr);
}
return 0;
}
Вы можете передавать или перенаправлять файлы в скомпилированную программу, например:
$ echo -e "11 22\n33 44\n55 66" | ./pairs
OK: addr=11, instr=22
OK: addr=33, instr=44
OK: addr=55, instr=66
$ echo -e "111 222\n333 444\n555 666\n777 888" > input.txt
$ ./pairs < input.txt
OK: addr=111, instr=222
OK: addr=333, instr=444
OK: addr=555, instr=666
OK: addr=777, instr=888