qc.hlp (Table of Contents; Topic list)
mktemp
 Summary Example                         Up Contents Index Back
────────────────────────────────────────────────────────────────────────────
 
     The mktemp function creates a unique file name by modifying the
     given <template> argument. The <template> argument has the form
 
          baseXXXXXX
 
     where <base> is the part of the new file name supplied by the user
     and the Xs are placeholders for the part supplied by mktemp. The
     mktemp function preserves <base> and replaces the six trailing Xs
     with an alphanumeric character followed by a five-digit value. The
     alphanumeric character is 0 the first time mktemp is called
     with a given template. The five-digit value is a unique number
     identifying the calling process.
 
     In subsequent calls from the same process with the same template,
     mktemp checks to see if previously returned names have been used
     to create files. If no file exists for a given name, mktemp
     returns that name. If files exist for all previously returned
     names, mktemp creates a new name by replacing the alphanumeric
     character in the name with the next available lowercase letter.
 
     For example, if the first name returned is t012345 and this name
     is used to create a file, the next name returned will be ta12345.
     When creating new names, mktemp uses, in order, '0' and then the
     lowercase letters 'a' to 'z'.
 
     Note that the original template is modified by the first call to
     mktemp. If you then call the mktemp function again with the same
     template (i.e., the original one), you get an error.
 
     The mktemp function generates unique file names but does not
     create or open files.
 
     Return Value
 
     The mktemp function returns a pointer to the modified template.
     The return value is NULL if the template argument is badly formed
     or no more unique names can be created from the given template.
                                    -♦-