#include <fcntl.h>
char buffer[BUFSIZ]={'\0'};
int main()
{
int fp, n;
if(fp = open("percorsofile",O_RDONLY,0))==-1)
return 0;
if(n=read(fp,buffer,BUFSIZ)<=0)
return 0;
}
questo è per leggere.
Non ho linux per testarlo ma dovrebbe essere cosi.
Invece puoi fare cosi per ottenere una matrice di char con i nomi utenti:
char buffer[BUFSIZ];//è lo stesso usato nel codice di prima. Contiene quindi il contenuto del file
char buf[123][123];
int getUsernameFromBuffer()
{
char* p;
int i=0;
int ln=strlen(buffer);
do
{
p=strstr(buffer,":");
strncpy(&buf[i][0],buffer,p-buffer);
p=strstr(buffer,"\n");
if(p)
strcpy(buffer,++p);
i++;
}
while(p);
return 1;
}
buffer contiene i dati presi dal file quindi ha una struttura
nomeutente:password\n
''
''
''
quindi all'uscita della funzione la matrice buf conterrà tutti i nomi utente.
Ciao