dein filename muss schon lang genug sein, damit du strcat´n kannst.
versuch char filename[255]; ..und evtl scanf("%s",filename);

ich denke dass es daran liegt.

gruesse, die katz