tmpfile_s
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 de l’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 EINVAL
sur , 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
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour