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.