Puoi fare cosi:
Codice PHP:
#include <stdio.h>
#include <stdlib.h>
int main(){
FILE * pFile;
pFile = fopen ("y.c","r");
while(! feof(pFile)){
//calcolo la posizione corrente
long pos = ftell(pFile);
int count = 0;
//inizio a leggere finche non ho letto un'intera riga
while(('\n' != (char)getc(pFile)) && (! feof(pFile)))
count++;
//alloco il buffer; count caratteri letti + 1 per il
//carattere di fine linea + 1 per il carattere di fine stringa
char *buf = (char *)malloc((count + 2) * sizeof(char));
//mi riposto nella posizione da cui devo riprendere a leggere
fseek (pFile,pos,SEEK_SET);
//leggo la riga nel buffer
fgets(buf, count + 2, pFile);
//stampo la lunghezza della riga e la riga stessa
printf("%d\t%s", count, buf);
//dealloco il buffer
free(buf);
}
fclose (pFile);
return 0;
}