Sdílet prostřednictvím


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.

Viz také

Referenční dokumentace

Proud I/O

_rmtmp

_tempnam, _wtempnam, tmpnam, _wtmpnam