tmpfile_s

 

Pour obtenir la dernière documentation sur Visual Studio 2017, consultez Documentation Visual Studio 2017.

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é de la bibliothèque 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é pour un flux de données.

Retourne 0 si l’opération réussit, un code d’erreur en cas d’échec.

Conditions d’erreur

pFilePtrValeur de retourContenu de  pFilePtr
NULLEINVALnon modifié

Si l’erreur de validation de paramètre ci-dessus se produit, le Gestionnaire de paramètre non valide est appelé, comme décrit dans Validation de paramètre. Si l’exécution est autorisée à se poursuivre, errno a EINVAL et la valeur de retour est EINVAL.

Le tmpfile_s fonction crée un fichier temporaire et crée un pointeur vers ce flux de données dans le pFilePtr argument. Le fichier temporaire est créé dans le répertoire racine. Pour créer un fichier temporaire dans un répertoire différent de la racine, utilisez tmpnam_s ou tempnam conjointement avec fopen.

Si le fichier ne peut pas être ouvert, tmpfile_s écrit NULL à le pFilePtr paramètre. Ce fichier temporaire est supprimé automatiquement lorsque le fichier est fermé lorsque le programme se termine normalement, ou lorsque _rmtmp est appelée, en supposant que le répertoire de travail en cours ne change pas. Le fichier temporaire est ouvert dans w+b mode (lecture/écriture binaire).

Échec peut se produire si vous essayez de plus de TMP_MAX_S (voir STDIO. (H) avec les appelstmpfile_s.

RoutineEn-tête requis
tmpfile_s<stdio.h>

Pour plus d'informations sur la compatibilité, voir Compatibilité dans l'introduction.

System_CAPS_ICON_note.jpg Remarque

Cet exemple nécessite des privilèges d’administrateur pour s’exécuter sur 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() );  
}  

Temporary file 1 was created  
Temporary file 2 was created  
Temporary file 3 was created  
3 temporary files deleted  

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

Flux d’e/s
_rmtmp
_tempnam, _wtempnam, tmpnam, _wtmpnam

Afficher: