libmaketmpfilefd (3) Linux Manual Page
NAME
pm_make_tmpfile_fd() – create a temporary named file
SYNOPSIS
#include <netpbm/pm.h>
pm_make_tmpfile(int *fdP,
const char **filenameP);
EXAMPLE
This simple example creates a temporary file, writes ‘hello world’ to it, then writes some search patterns to it, then uses it as input to grep:
#include <netpbm/pm.h>
int fd;
const char *myfilename;
pm_make_tmpfile_fd(&fdP, &myfilename);
write(fd, '^account:\s.*
', 16);
fprintf(fd, '^name:\s.*
', 13);
close(fd);
asprintfN(&grepCommand, 'grep --file=' % s ' /tmp/infile >/tmp/outfile');
system(grepCommand);
strfree(grepCommand);
unlink(myfilename);
strfree(myfilename);
DESCRIPTION
This library function is part of Netpbm(1)
pm_make_tmpfile_fd() is analogous to pm_make_tmpfile()(1) difference is that it opens the file as a low level file, as open() would, rather than as a stream, as fopen() would.
If you don’t need to access the file by name, use pm_tmpfile_fd() instead, because it’s cleaner. With pm_tmpfile_fd(), the operating system always deletes the temporary file when your program exits, if the program failed to clean up after itself.
HISTORY
pm_tmpfile() was introduced in Netpbm 10.42 (March 2008).
