Leer un número desconocido de líneas de stdin, C

Tengo un problema con la lectura de stdin de tamaño desconocido. De hecho, es una tabla en el archivo .txt, que llego a stdin llamando al parámetro '<' table.txt. Mi código debería verse así:

#include <stdio.h>
#include <string.h>


int main(int argc,char *argv[])
{

   char words[10][1024];
   int i=0;
   while(feof(stdin)==0)
   {
      fgets(words[i],100,stdin); 
      printf("%s", words[i]);
      i++;
   }
   return 0;
}

pero existe el problema, no sé el número de líneas, que en este caso es 10 (sabemos el número de caracteres en la línea - 1024). Sería genial si alguien supiera la solución. Gracias por adelantado.