# class KTempFile | The KTempFile class creates and opens a unique file for temporary use. More...
Definition | `#include <ktempfile.h>`
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

#### Public Methods

- KTempFile (QString filePrefix=QString::null, QString fileExtension=QString::null, int mode = 0600 )
- ~KTempFile ()
- void setAutoDelete (bool autoDelete)
- int status ()
- QString name ()
- int handle ()
- FILE * fstream ()
- QTextStream * textStream ()
- QDataStream * dataStream ()
- QFile * file ()
- void unlink ()
- bool close ()

#### Protected Methods

- KTempFile (bool)
- bool create (const QString &filePrefix, const QString &fileExtension, int mode)
- void setError (int error)

## Detailed Description

The KTempFile class creates and opens a unique file for temporary use.

This is especially usefull if you need to create a file in a world writable directory like /tmp without being vulnerable to so called symlink attacks.

KDE applications, however, shouldn't create files in /tmp in the first place but use the "tmp" resource instead. The standard KTempFile constructor will do that by default.

To create a temporary file that starts with a certain name in the "tmp" resource, one should use: KTempFile(locateLocal("tmp", prefix), extension);

KTempFile does not create any missing directories, but locateLocal() does.

See also KStandardDirs

KTempFile (QString filePrefix=QString::null, QString fileExtension=QString::null, int mode = 0600 ) | ### KTempFile

Create a temporary file with the name: <filePrefix><some number><fileExtension>

The default filePrefix is "$KDEHOME/tmp-$HOST/appname" The default fileExtension is ".tmp"

~KTempFile () | ### ~KTempFile

The destructor closes the file. If autoDelete is enabled the file gets unlinked as well.

void setAutoDelete (bool autoDelete) | ### setAutoDelete

Turn automatic deletion on or off. Automatic deletion is off by default.

int status () | ### status

Returns the status of the file based on errno. (see errno.h) 0 means OK.

You should check the status after object creation to check whether a file could be created in the first place.

You may check the status after closing the file to verify that the file has indeed been written correctly.

QString name () | ### name

The name of the file.

int handle () | ### handle

An integer file descriptor open for writing to the file

FILE * fstream () | ### fstream

Returns: FILE* stream open for writing to the file

QTextStream * textStream () | ### textStream

Returns: QTextStream open for writing to the file

QDataStream * dataStream () | ### dataStream

Returns: QDataStream open for writing to the file

QFile * file () | ### file

A QFile open for writing to the file

void unlink () | ### unlink

Unlinks the file from the directory. The file is deleted once the last reader/writer closes it.

bool close () | ### close

Closes the file. Returns 'true' is successfull, or 'false' if an error has occured. See status() for details about errors.

KTempFile (bool) | ### KTempFile

[protected]

Constructor used by KSaveFile

bool create (const QString &filePrefix, const QString &fileExtension, int mode) | ### create

[protected]

Create function used internally by KTempFile and KSaveFile

void setError (int error) | ### setError

[protected]

- Author: Waldo Bastian <bastian@kde.org>
- Generated: root@i386.ports.openbsd.org on Wed Apr 25 13:58:13 2001, using kdoc 2.0a53.