Ho provato ad utilizzare la tua parte di codice e stranamente il programma non entra nemmeno nella funzione.
Io passo questi parametri (stessi parametri che sono presenti nel foglio utenti.txt) :
username: valerio
password: panzera
i parametri sono chiesti dal programma tramite 2 scanf, e per passarli utilizzo due write(), mentre il server li riceve tramite due read() nei rispettivi array username() e password(). Infine li "dovrebbe" passare alla funzione questi due array
queste sono le due read() che lo ricevono e la funzione check() vista prima
read(clientConnectionDescriptor,username,sizeof(username));
read(clientConnectionDescriptor,password,sizeof(password));
esiste=check(username, password);
mentre queste sono le due write() (dentro una while finché non si verifica l'account)
while(account==0){
char dati[10];
char username[10];
char password[10];
printf("\nInserire username: \n");
scanf("%s", username);
write(socketClientDescriptor, username, sizeof(username));
printf("\nInserire password: \n");
scanf("%s", password);
write(socketClientDescriptor, password, sizeof(password));
}//fine while per sistema di registrazione/accesso
Ho provato a vedere se terminasse con '\0' tramite un printf dentro un for, non stampa nulla nonostante questo for sia proprio all'inizio del programma. Che sta succedendo? :,(
Allegati: