char *tmpnam(char *str);
Assigns to s (if s non-null) and returns unique name for a temporary file. Unique name is returned for each of the first TMP_MAX invocations.
/* * tmpnam example code * http://code-reference.com/c/stdio.h/tmpnam */ #include <stdio.h> /* including standard library */ //#include <windows.h> /* uncomment this for Windows */ int main ( void ) { FILE *tmpstream; char *tmpfile; tmpfile = tmpnam(NULL); tmpstream= fopen(tmpfile, "w"); if ( tmpstream == NULL) { perror("Error opening tmp stream"); } fputs("Test for tmpnam", tmpstream); rename(tmpfile, "test.txt"); fclose(tmpstream); return 0; }
content of test.txt after executing ./tmpnam
Test for tmpnam
./tmpnam