Ovaj deo koda koji si postavio nije bas jasan (sta je b?), s obzirom na ono sto si dao gore (pomonjuci strukturu)...
Evo ti neko genericko resenje, pa dalje tumaci sam...
Code:
#include <stdio.h>
#include <stdlib.h>
#define MAX_BROJ_LINIJA 100
#define MAX_DUZINA_LINIJE 1000
/* struktura koja ce cuvati sadrzaj fajla */
struct linije
{
int redni_broj; /* ovo sam ugradio jer si pominjao, mada je sasvim suvisno jer indeks svakako prati redni broj */
char linija[MAX_DUZINA_LINIJE];
};
int main()
{
FILE *fajl;
struct linije moje_linije[MAX_BROJ_LINIJA];
char naziv_fajla[MAX_PATH];
int i, broj_linije = 0;
printf( "Upisi naziv fajla: " );
scanf( "%s", &naziv_fajla );
fajl = fopen( naziv_fajla, "r" );
if ( ! fajl )
{
printf( "Fajl: '%s' se ne moze otvoriti!\n", naziv_fajla );
return 1;
}
// Punjenje strukture
while ( fgets( moje_linije[broj_linije++].linija, MAX_DUZINA_LINIJE, fajl ) )
moje_linije[broj_linije-1].redni_broj = broj_linije; /* ovu liniju izbaci, i umesto nje stavi ; ako zelis da izbacis iz strukture redni_broj */
// Ispis
for ( i=0; i<broj_linije-1; i++ )
printf( "%d.%s", moje_linije[i].redni_broj, moje_linije[i].linija );
fclose( fajl );
return 0;
}