tmpfile_s
crée un fichier temporaire.Il s'agit d'une version de tmpfile avec des améliorations de sécurité comme décrit dans Fonctionnalités de sécurité du CRT.
errno_t tmpfile_s(
FILE** pFilePtr
);
Paramètres
- [out] pFilePtr
L'adresse d'un pointeur pour stocker l'adresse du pointeur généré dans un flux.
Valeur de retour
Retourne 0 si l'opération a réussi, le code d'erreur en cas de échec.
conditions d'erreur
pFilePtr |
Valeur de retour |
contenu de pFilePtr |
---|---|---|
NULL |
EINVAL |
non modifié |
si l'erreur ci-dessus de validation des paramètres se produit, le gestionnaire de paramètre non valide est appelé, comme décrit dans Validation des paramètres.Si est autorisé à l'exécution de se poursuivre, errno est défini à EINVAL et la valeur de retour est EINVAL.
Notes
La fonction d' tmpfile_s crée un fichier temporaire et place un pointeur à ce flux de données dans l'argument d' 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, l'utilisation tmpnam_s ou le tempnam avec fopen.
si le fichier ne peut pas être ouvert, tmpfile_s écrit NULL au paramètre d' pFilePtr .Ce fichier temporaire est supprimée automatiquement lorsque le fichier est fermé, lorsque le programme se termine normalement, ou lorsque _rmtmp est appelé, en supposant que le répertoire de travail actuel ne change pas.Le fichier temporaire est ouvert en mode d' w+b (lecture/écriture binaire).
L'échec peut se produire si vous essayez plus qu' TMP_MAX_S (voir STDIO.H) les appels avec tmpfile_s.
Configuration requise
routine |
en-tête requis |
---|---|
tmpfile_s |
<stdio.h> |
Pour des informations de compatibilité supplémentaires, consultez compatibilité dans l'introduction.
Exemple
[!REMARQUE]
Cet exemple requiert l'exécution des privilèges d'administrateur sous Windows Vista.
// 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() );
}
Équivalent .NET Framework
Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez l' exemples d'appel de code non managé.