tmpfile_s
Vytvoří dočasný soubor.Je verze tmpfile s vylepšení zabezpečení popsaným v Funkce zabezpečení v CRT.
errno_t tmpfile_s(
FILE** pFilePtr
);
Parametry
- [výstup]pFilePtr
Adresa ukazatel ukládat adresy generované ukazatel na datový proud.
Vrácená hodnota
Vrátí 0, pokud je úspěšná, kód chyby při selhání.
Chybové podmínky
pFilePtr |
Vrácená hodnota |
ObsahpFilePtr |
---|---|---|
NULL |
EINVAL |
nezmění |
Dojde-li výše uvedené chybě ověření parametru je vyvoláno neplatný parametr popisovače, jak je popsáno v Ověření parametrů.Pokud je povoleno spuštění pokračovat, errno je nastavena na EINVAL a vrácená hodnota je EINVAL.
Poznámky
tmpfile_s Funkce vytvoří dočasný soubor a umístí ukazatel na v tomto proudu pFilePtr argument.Dočasný soubor je vytvořen v kořenovém adresáři.Chcete-li vytvořit dočasný soubor v jiné než kořenový adresář, použijte tmpnam_s nebo tempnam ve spojení s fopen.
Pokud soubor nelze otevřít, tmpfile_s zapíše NULL se pFilePtr parametr.Tento dočasný soubor je automaticky odstraněn při zavření souboru, když program ukončí obvykle nebo po _rmtmp se nazývá za předpokladu, že nedojde ke změně aktuálního pracovního adresáře.Dočasný soubor je otevřen v w+b (binárního zápisu) režimu.
Selhání může dojít, pokusíte-li více než TMP_MAX_S (viz STDIO.H) volání stmpfile_s.
Požadavky
Rutina |
Požadované záhlaví |
---|---|
tmpfile_s |
<stdio.h> |
Další informace o kompatibilitě, viz Compatibility v úvodu.
Příklad
[!POZNÁMKA]
Tento příklad vyžaduje administrátorská oprávnění ke spuštění v systému 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() );
}
Ekvivalent v rozhraní .NET Framework
Nelze použít Použijte volání funkce standardní C, PInvoke. Další informace naleznete v tématu Příklady vyvolat platformu.