Witam.
Mam problem z działaniem mojego programu. Program sortuje tylko pierwsza linię pobraną z pliki tekstowego. Chciałbym aby program robił to samo dla następnych linii a nie tylko pierwszej.
Oto kod:

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

int porzadek = 1;

int porownaj(char *a, char *b)
{
	if((porzadek >= 0 && strcmp(a, b)>0) || (porzadek < 0 && strcmp(a, b)<=0))
		return 1;
	return 0;
}

void babelki(char** tablica, int N)
{
	int zamienione, i, tmp;
	do
	{
		zamienione=0;
		for(i=0;i<N-1;i++)
			if(porownaj(tablica[i], tablica[i+1]))
			{
				tmp=tablica[i];
				tablica[i]=tablica[i+1];
				tablica[i+1]=tmp;
				zamienione=1;
			}
	}
	while(zamienione);
}

void wypisz(char** tablica, int N){
	char i=0;
	for(i=0;i<N;i++)
		printf("%c", **(tablica+i));
}

void kopiuj(char** skad, char** dokad, int N)
{
	int i;
	for(i=0;i<N; i++)
		*(dokad++)=*(skad++);
}

int main()
{
	char line[256];
	char* sig[256];
	int ilosc = 0;
	int i = 0;

	FILE *infile;
	char *inname = "---";//tutaj jest ścieżka do pliku z którego czytane są linie

	infile = fopen(inname, "r");
	fgets(line, sizeof(line), infile);
	printf("%s\n", line);

	while (*(line+i) != '\0')
	{
		if (*(line+i) != ' ')
			sig[ilosc++] = line+i;
		i++;
	}

	babelki(sig, ilosc);
	wypisz(sig,ilosc);

	return 0;
}
 

Czy mógłby ktoś podać fragment kodu(prawidłowego) i miejsce w które należy go wstawić? Proszę o szybką pomoc.