Sdílet prostřednictvím


_creat _wcreat

Vytvoří nový soubor._creata _wcreat již nepoužívá; použít _sopen_s _wsopen_s místo.

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

Parametry

  • filename
    Název nového souboru.

  • pmode
    Nastavení oprávnění.

Vrácená hodnota

Tyto funkce v případě úspěchu vrátit popisovač souboru vytvořeného souboru.Jinak vrátí funkce –1 a errno podle následující tabulky.

errnonastavení

Description

EACCES

filenameUrčuje existující soubor jen pro čtení nebo adresář namísto souboru.

EMFILE

Nejsou k dispozici žádné další popisovače souboru.

ENOENT

Zadaný soubor nebyl nalezen.

Pokud filename hodnotu NULL, tyto funkce vyvolat popisovač neplatný parametr, jak je popsáno v Ověření parametrů.Pokud je povoleno spuštění pokračovat, nastavit tyto funkce errno na EINVAL a vrátí -1.

Další informace o těchto a jiných návratové kódy, viz _doserrno, kód chyby, _sys_errlist a _sys_nerr.

Poznámky

_creat Funkce vytvoří nový soubor nebo otevře a zkrátí existující._wcreatje verze celého znaku _creat; filename argument _wcreat je řetězec znaků wide._wcreata _creat chovají jinak shodně.

Obecný Text rutinní mapování

Rutina Tchar.h

_UNICODE a _MBCS není definován

_MBCS, definice

_UNICODE, definice

_tcreat

_creat

_creat

_wcreat

Pokud soubor určený filename neexistuje, nový soubor je vytvořen pomocí nastavení dané oprávnění a je otevřen pro zápis.Pokud soubor již existuje a jeho nastavení oprávnění umožňuje psaní, _creat zkrátí délku 0, zničení předchozí obsah souboru a otevře pro zápis.Nastavení oprávnění pmode, týká se pouze nově vytvořených souborů.Po zavření první, obdrží nový soubor nastavení zadané oprávnění.Výraz celé pmode obsahuje jeden nebo oba manifestu konstanty _S_IWRITE a _S_IREAD, definované v SYS\Stat.h.Při obou konstanty jsou uvedeny, jsou spojeny s bitového OR () operátor**|**).pmode Parametr nastaven na jednu z následujících hodnot.

Value

Definice

_S_IWRITE

Zápis povolen.

_S_IREAD

Čtení povoleny.

_S_IREAD | _S_IWRITE

Čtení a zápis povolen.

Pokud oprávnění k zápisu není uvedena, je soubor jen pro čtení.Všechny soubory jsou vždy čitelný; je nemožné poskytnout oprávnění jen pro zápis.Režimy _S_IWRITE a _S_IREAD| _S_IWRITE pak jsou rovnocenné.Soubory otevřené pomocí _creat vždy otevřen v režimu kompatibility (viz _sopen) s _SH_DENYNO.

_creatpoužije aktuální maska souboru oprávnění k pmode před nastavením oprávnění (viz _umask)._creatje k dispozici kvůli kompatibilitě s předchozí knihoven.Volání _open s _O_CREAT a _O_TRUNC v oflag parametr je ekvivalentní _creat a je vhodnější pro nový kód.

Požadavky

Rutina

Požadované záhlaví

Volitelné záhlaví

_creat

<io.h>

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

_wcreat

<io.h> nebo <wchar.h>

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

Další informace o kompatibilitě v tématu Compatibility v úvodu.

Příklad

// 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 );
   }
}
  

Viz také

Referenční dokumentace

Nízké úrovně I/O

_chmod _wchmod

_chsize

_close

_dup _dup2

_open, _wopen

_sopen _wsopen

_umask