char strline [10000];Поэтому вы выделили буфер длиной 10 000 байт:
+--------------...-+
strline -> | 10000 |
+--------------...-+
, если вы хотите выделить вместо этого 10 000 строк, вам понадобится что-то вроде этого:
char* strline[10000]; // array of 10,000 pointers to strings
будет иметь доступ к линиямчтобы назначить каждой записи в массиве
strline[0]
strline[1]
...
strline[10000]
, например, когда строка читается, вам нужно выделить буфер для строки и затем указать на нее строку strline
char* line = malloc( linelength + 1 );
fgets( line, linelength, fp );
strline[0] = line;
+-------+
strline[0] -> | line |
+-------+