Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Crée un fichier temporaire. Il s’agit d’une version d’améliorations de tmpfile sécurité, comme décrit dans les fonctionnalités de sécurité du CRT.
Syntaxe
errno_t tmpfile_s(
FILE** pFilePtr
);
Paramètres
pFilePtr
Adresse d’un pointeur pour stocker l’adresse du pointeur généré désignant un flux.
Valeur retournée
Retourne 0 si l’opération aboutit et un code d’erreur en cas d’échec.
Conditions d’erreur
pFilePtr |
Valeur retournée | Contenu de pFilePtr |
|---|---|---|
NULL |
EINVAL |
inchangé |
Si l’erreur de validation de paramètre ci-dessus se produit, le gestionnaire de paramètres non valide est appelé, comme décrit dans la validation des paramètres. Si l’exécution est autorisée à continuer, errno est définie EINVALsur , et la valeur de retour est EINVAL.
Notes
La fonction tmpfile_s crée un fichier temporaire et place un pointeur vers ce flux dans l’argument pFilePtr. 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_s ou tempnam utilisez fopen.
Si le fichier ne peut pas être ouvert, tmpfile_s écrit NULL dans le pFilePtr paramètre. 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).
L’échec peut se produire si vous tentez plus que TMP_MAX_S (voir STDIO. Appels H) avec tmpfile_s.
Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.
Spécifications
| Routine | En-tête requis |
|---|---|
tmpfile_s |
<stdio.h> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
Exemple
Remarque
Cet exemple peut nécessiter l’exécution de privilèges d’administration sur Windows.
// crt_tmpfile_s.c
// This program uses tmpfile_s to create a
// temporary file, then deletes this file with _rmtmp.
//
#include <stdio.h>
int main( void )
{
FILE *stream;
char tempstring[] = "String to be written";
int i;
errno_t err;
// Create temporary files.
for( i = 1; i <= 3; i++ )
{
err = tmpfile_s(&stream);
if( err )
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