xHarbour Reference Documentation > Function Reference xHarbour Developers Network  

HB_FTempCreate()

Creates and opens a temporary file.

Syntax

HB_FTempCreate( [<cTempDir>] , ;
                [<cPrefix>]  , ;
                [<nFileAttr>], ;
               [@<cFileName>]  ) --> nFileHandle

Arguments

<cTempDir>
This is an optional character string specifying the directory where to create the temporary file. It defaults to the operating system variable SET TEMP or SET TMP. Operating system variables can be queried with function GetEnv().
<cPrefix>
This is an optional character string of three characters specifying the prefix to use for the name of the temporary file. It defaults to the string "xht".
<nFileAttr>
This is an optional numeric value defining how to create and open the temporary file. See function FCreate() for a description of <nFileAttr>.
@<cFileName>
If specified, <cFileName> must be passed by reference. It receives the file name of the created temporary file as a character string.

Return

The function returns a numeric value > 0 when the temporary file is successfully created. This is the file handle of the created temporary file.

Description

Function HB_FTempCreate() creates a temporary file and opens it. The return value is the file handle of the temporary file. It can be used with low level file functions, such as FWrite() to store data in the file.

Temporary files are often required in an application. HB_FTempCreate() guarantees that the file name of the newly created file is unique, so that no existing file will be overwritten. To obtain the file name of the temporary file, parameter <cFileName> must be passed by reference. It can then later be passed to function FErase() in order to remove the temporary file from disk.

Info

See also:FCreate(), FErase(), FWrite(), GetEnv()
Category: File functions , Low level file functions , xHarbour extensions
Source:rtl\fstemp.c
LIB:xhb.lib
DLL:xhbdll.dll

Example

// The example implements a user defined function that creates
// a temporary file and returns its file name. The temporary
// file is then erased.

   PROCEDURE Main
      LOCAL cTempFile := TempFileName()

      ? cTempFile            // result: C:\temp\xht93.tmp

      FErase( cTempFile )
   RETURN


   FUNCTION TempFileName()
      LOCAL nFileHandle
      LOCAL cFileName

      nFileHandle := HB_FTempCreate( ,,, @cFileName )

      IF nFileHandle > 0
         FClose( nFileHandle )
      ENDIF
   RETURN cFileName

Copyright © 2006-2007 xHarbour.com Inc. All rights reserved.
http://www.xHarbour.com
Created by docmaker.exe