Code:
void ReadFromFile(struct Base **begin, char file[])
{
	FILE *fin;
	struct Base *NEW;

	fin = fopen(file, "rb+");

	*begin = NULL;
	while (*begin != NULL)
	{
		NEW = (struct Base*) malloc(sizeof(struct Base));
		fread(NEW, sizeof(struct Base), 1, fin);
		NEW->next = *begin;
		*begin = NEW;
	}
	fclose(fin);
}
Ug. This is horribly complicated. Additionally, this code will NEVER run:

Code:
	*begin = NULL;
	while (*begin != NULL)
Since you've just set '*begin' to NULL, the wihle loop will fail automaticly and never run.

Quzah.