tmpfile
Crée un fichier temporaire. Cette fonction est déconseillée, car une version plus sécurisée est disponible ; voir tmpfile_s
.
Syntaxe
FILE *tmpfile( void );
Valeur retournée
En cas de réussite, tmpfile
retourne un pointeur de flux. Sinon, elle retourne un pointeur NULL
.
Notes
La fonction tmpfile
crée un fichier temporaire et retourne un pointeur désignant ce flux. Le fichier temporaire est créé dans le répertoire racine. Pour créer un fichier temporaire dans un répertoire autre que la racine, utilisez tmpnam
ou tempnam
utilisez fopen
.
Si le fichier ne peut pas être ouvert, tmpfile
retourne un NULL
pointeur. Ce fichier temporaire est automatiquement supprimé lorsque le fichier est fermé, lorsque le programme se termine normalement, ou lorsqu’il _rmtmp
est appelé, en supposant que le répertoire de travail actuel ne change pas. Le fichier temporaire est ouvert en mode w+b (lecture/écriture binaire).
Un échec peut se produire si vous tentez plus de TMP_MAX (voir STDIO.H) appels avec tmpfile
.
Spécifications
Routine | En-tête requis |
---|---|
tmpfile |
<stdio.h> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
Exemple
Remarque
L’exécution de cet exemple sur Windows Vista nécessite des privilèges d’administrateur.
// crt_tmpfile.c
// compile with: /W3
// This program uses tmpfile to create a
// temporary file, then deletes this file with _rmtmp.
#include <stdio.h>
int main( void )
{
FILE *stream;
int i;
// Create temporary files.
for( i = 1; i <= 3; i++ )
{
if( (stream = tmpfile()) == NULL ) // C4996
// Note: tmpfile is deprecated; consider using tmpfile_s instead
perror( "Could not open new temporary file\n" );
else
printf( "Temporary file %d was created\n", i );
}
// Remove temporary files.
printf( "%d temporary files deleted\n", _rmtmp() );
}
Temporary file 1 was created
Temporary file 2 was created
Temporary file 3 was created
3 temporary files deleted