De plus, dans ce code, res n'est pas initialisé.

gets(chnUser);
strncmp(chnRec,chnUser,strlen(chnUser));
if (res != 0){
fi->_file;...

Qu'est donc censé faire fi->_file ?