Udostępnij za pośrednictwem


tmpfile_s

Tworzy plik tymczasowy.Jest to wersja z tmpfile z rozszerzeń zabezpieczeń opisane w Funkcje zabezpieczeń w CRT.

errno_t tmpfile_s(
   FILE** pFilePtr
);

Parametry

  • [out]pFilePtr
    Adres wskaźnik do przechowywania adresu generowanych wskaźnik do strumienia.

Wartość zwracana

Zwraca wartość 0, jeśli kończy się pomyślnie, kod błędu w przypadku awarii.

Warunki błędów

pFilePtr

Zwracanie wartości

ZawartośćpFilePtr

NULL

EINVAL

nie powinny być zmieniane

Jeśli wystąpi błąd sprawdzania poprawności parametru powyżej, nieprawidłowy parametr wywoływana jest funkcja obsługi, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie jest dozwolone, aby kontynuować, errno jest ustawiona na EINVAL i zwracana jest wartość EINVAL.

Uwagi

tmpfile_s Funkcja tworzy plik tymczasowy i umieszcza kursor do tego strumienia w pFilePtr argument.W katalogu głównym jest tworzony plik tymczasowy.Aby utworzyć plik tymczasowy w katalogu innym niż katalog główny, należy użyć tmpnam_s lub tempnam w połączeniu z fopen.

Jeśli nie można otworzyć pliku, tmpfile_s zapisuje NULL do pFilePtr parametru.Ten tymczasowy plik jest automatycznie usuwany, gdy plik jest zamykany, gdy program kończy działanie, zwykle lub _rmtmp jest wywoływana, przy założeniu, że nie zmienia bieżący katalog roboczy.Tymczasowy plik zostanie otwarty w w+b tryb (binarny odczyt/zapis).

Błąd może wystąpić, jeśli nastąpi próba więcej niż TMP_MAX_S (patrz STDIO.H) połączeń ztmpfile_s.

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

tmpfile_s

<stdio.h>

Aby uzyskać dodatkowe informacje o zgodności, zobacz zgodności we wprowadzeniu.

Przykład

[!UWAGA]

W tym przykładzie wymaga uprawnień administracyjnych do uruchamiania w systemie 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() );
}
  

Odpowiednik w programie .NET Framework

Nie dotyczy. Aby wywołać standardowych funkcji C, należy użyć PInvoke. Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy.

Zobacz też

Informacje

We/Wy strumienia

_rmtmp

_tempnam, _wtempnam, tmpnam, _wtmpnam