//The issue is that you probably have an uninitialized variable. //Instead of: char *fnam; int nn = sprintf(fnam,"%s/%s",cwd,filnam); //Try: char fnam[500]; int nn = sprintf(fnam,"%s/%s",cwd,filnam);