thanks for the code and alternative way...

I've been looking into how to do it also
and came up with this:


(sorry if the code is lame... I'm still quite new at C)
also the printf's are in dutch...



Code:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>


int inloggen(void){

char user[15];
char pass[15];
char **temp_user,**temp_pass,lijn[31],c='o'; //15+15+1
//int's voor de lussen...
int sw_ok=1, sw_user=1, sw_pass=1,sw_gevonden=0,lengte=0,i=0;
FILE *login;


printf("\t**********************************************\n");
printf("\t*                  Login                     *\n");
printf("\t**********************************************\n");

login=fopen("users.dat", "rb");
fscanf(login,"%*s");
	 while(!feof(login))
	 {	  lengte++;
		  fscanf(login,"%*s");
	 }
	 rewind(login);
	 temp_user=calloc(sizeof(char*),lengte);
	 temp_pass=calloc(sizeof(char*),lengte);
	 for(i=0;i<lengte;i++)
	 {   fscanf(login,"%s",lijn);
		  temp_user[i]=malloc(16);
		  strncpy(temp_user[i],lijn,15);
		  fscanf(login,"%s",lijn);
		  temp_pass[i]=malloc(16);
		  strncpy(temp_pass[i],lijn,15);
	 }
	 fclose(login);

while (sw_ok)
{
	while(sw_user)
	{
		printf("Gebruikersnaam: ");
		scanf("%15s%c", user,&c);
		if(c!='\n')
		{
			printf("Deze gebruikersnaam is te lang. U kan enkel een gebruikersnaam gebruiken van 15 karakters.\n");
			scanf("%*[^\n]%*c");
		}
		else sw_user=0;
	}

	while(sw_pass)
	{
		printf("Geef uw paswoord: ");
		scanf("%15s%c",pass,&c);
		if(c!='\n')
		{
			printf("Foutief paswoord...(te lang, max 15 karakters)\n");
			scanf("%*[^\n]%*c");
		}
		else sw_pass=0;
	}


for(i=0;i<lengte;i++){
	if (strcmp(temp_user[i], user) == 0 && strcmp(temp_pass[i], pass) ==0){
							sw_ok=0;
							sw_gevonden=1;
				}
				else  {
					sw_user=1;
					sw_pass=1;
					}
	 }//einde for lus
if (sw_gevonden)
{
printf("***********************\n");
printf("*     Toegang OK      *\n");
printf("***********************\n");
menu();
}
else printf("Foute gebruikersnaam of paswoord\nProbeer opnieuw AUB\n");
}
	return 0;
}