Udostępnij za pośrednictwem


_creat, _wcreat

Tworzy nowy plik._creati _wcreat została zaniechana; Użyj _sopen_s, _wsopen_s zamiast.

int _creat( 
   const char *filename,
   int pmode 
);
int _wcreat( 
   const wchar_t *filename,
   int pmode 
);

Parametry

  • filename
    Nazwa nowego pliku.

  • pmode
    Ustawienie uprawnienia.

Wartość zwracana

Te funkcje, jeśli kończy się pomyślnie, zwraca deskryptor pliku do utworzonego pliku.W przeciwnym razie funkcje zwracają wartość –1 i ustawić errno jak pokazano w poniższej tabeli.

errnoustawienie

Opis

EACCES

filenameOkreśla istniejący plik tylko do odczytu lub określa katalog, zamiast pliku.

EMFILE

Nie więcej deskryptorów plików są dostępne.

ENOENT

Nie można odnaleźć określonego pliku.

Jeśli filename ma wartość NULL, te funkcje wywołania obsługi nieprawidłowy parametr, jak opisano w Sprawdzanie poprawności parametru.Jeśli wykonanie może kontynuować, ustaw te funkcje errno do EINVAL i zwraca –1.

Aby uzyskać więcej informacji na temat tych i innych kodów powrotu, zobacz _doserrno, errno, _sys_errlist i _sys_nerr.

Uwagi

_creat Funkcja tworzy nowy plik lub otwiera i obcina istniejący._wcreatjest to wersja szerokich znaków _creat; filename argument _wcreat jest łańcuch szerokich znaków._wcreati _creat zachowują się identycznie inaczej.

Tekst rodzajowy rutynowych mapowania

Procedura TCHAR.h

_UNICODE i _MBCS nie zdefiniowane

_MBCS, definicja

_UNICODE, definicja

_tcreat

_creat

_creat

_wcreat

Jeżeli plik określony przez filename nie istnieje, nowy plik jest tworzony z ustawieniem danym uprawnieniem i jest otwarty do zapisu.Jeżeli plik już istnieje i jego ustawienie uprawnienia pozwala na piśmie, _creat obcina plik do długości 0, niszcząc poprzednia zawartość i otworzy ją do pisania.Ustawienie uprawnienia pmode, stosuje się do nowo utworzonych plików.Nowy plik odbiera ustawienie określone uprawnienie zamknięte po raz pierwszy.Wyrażenie liczby całkowitej pmode zawiera jedną lub obie z manifestu stałe _S_IWRITE i _S_IREAD, określonych w SYS\Stat.h.Gdy podane są zarówno stałych, są połączone z bitowym OR operator (|).pmode Parametr jest ustawiony na jedną z następujących wartości.

Wartość

Definicja

_S_IWRITE

Dozwolone pisania.

_S_IREAD

Dozwolone czytania.

_S_IREAD | _S_IWRITE

Czytanie i pisanie dozwolone.

Jeśli uprawnienie do zapisu nie jest podany, plik jest tylko do odczytu.Wszystkie pliki są zawsze czytelne; jest niemożliwe nadać uprawnienia tylko do zapisu.Tryby _S_IWRITE i _S_IREAD| _S_IWRITE następnie są równoważne.Pliki otwierane za pomocą _creat są zawsze otwierany w trybie zgodności (patrz _sopen) z _SH_DENYNO.

_creatstosuje się bieżącą maskę uprawnień do pliku, aby pmode przed ustawieniem uprawnienia (zobacz _umask)._creatjest przewidziane przede wszystkim zgodności z bibliotekami poprzedniego.Wywołanie _open z _O_CREAT i _O_TRUNC w oflag parametr jest równoważne z _creat i jest preferowane dla nowego kodu.

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

Opcjonalne nagłówka

_creat

<io.h>

<sys/types.h>, <sys/stat.h>, <errno.h>

_wcreat

<io.h> lub <wchar.h>

<sys/types.h>, <sys/stat.h>, <errno.h>

Informacji dotyczących zgodności, zobacz zgodności we wprowadzeniu.

Przykład

// crt_creat.c
// compile with: /W3
// This program uses _creat to create
// the file (or truncate the existing file)
// named data and open it for writing.

#include <sys/types.h>
#include <sys/stat.h>
#include <io.h>
#include <stdio.h>
#include <stdlib.h>

int main( void )
{
   int fh;

   fh = _creat( "data", _S_IREAD | _S_IWRITE ); // C4996
   // Note: _creat is deprecated; use _sopen_s instead
   if( fh == -1 )
      perror( "Couldn't create data file" );
   else
   {
      printf( "Created data file.\n" );
      _close( fh );
   }
}
  

Zobacz też

Informacje

Niskiego poziomu we/wy

_chmod, _wchmod

_chsize

_close

_dup, _dup2

_open, _wopen

_sopen, _wsopen

_umask