- tmpfile() tries to create files in the C: root dir on Windows where users usually don't have access. - tmpnam() uses the curent dir which doesn't seem to be a good idea either. - tempnam(NULL,NULL) is supposed to be cleverer.