Помогите организовать запись из pipe в массив

Здравствуйте!
Есть файл, в котором через пробел записаны числа. Что-то вроде:
100 3 580 6 3 56 6 3 6 67 98 45 43 7 3 45
Данный файл направляется в pipe с помощью cat.
cat filename | ./theprogram
theprogram - написанная на C программа, для записи всех цифр из pipe в
массив. Далее массив будет отсортирован и в нем будет проводиться поиск.
Помогите пожалуйста написать механизм записи всех цифр из pipe в массив.
Должно получиться что-то вроде:
data[0] == 100;
data[1] == 3;
data[2] == 580;
data[3] == 6; и т.д.
Ко всему прочему, было бы замечательно исключить повторяющиеся числа в
массиве. У меня никак не получается добиться результата.
Спасибо за внимание!
Vladimir B. Tsarkov пишет:
...
Anton V. Antonenko подсказал совершенно неправильно.
Вот как правильно:
#include <stdio.h>
int main (int argc, char **argv)
{
int n, i, massiv[100];
n=0;
while ((scanf("%i", &massiv[n])==1) && (n<100)) n++;
printf("Чисел: %i\n",n);
for (i=0;i<n;i++) printf("%i\n",massiv[i]);
return 0;
}
Советую почитать учебники по С. Их навалом в Сети, например тут:
http://citforum.ru/
Это уж сами, после того как почитаете учебники.