_create, _wcreat

Viene creato un nuovo file._creat e _wcreat è stato deprecato; utilizzo _sopen_s, _wsopen_s anziché.

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

Parametri

  • filename
    Nome del nuovo file.

  • pmode
    Impostazione di autorizzazione.

Valore restituito

Queste funzioni, se si riesce, restituisce un descrittore del file creato.In caso contrario, il ripristino di funzioni a 1 e set errno come illustrato nella tabella seguente.

Impostazione di errno

Descrizione

EACCES

filename specifica un file di sola lettura esistente o specifica una directory anziché un file.

EMFILE

Non esistono descrittori di file disponibili.

ENOENT

Il file specificato non è stato trovato.

se filename è NULL, queste funzioni viene richiamato il gestore non valido di parametro, come descritto in Convalida dei parametri.Se l'esecuzione è consentita per continuare, queste funzioni impostate errno in EINVAL e restituiscono -1.

Per ulteriori informazioni su questi e altri codici restituiti, vedere _doserrno, errno, _sys_errlist e _sys_nerr.

Note

_creat la funzione crea un nuovo file o aperto e conseguente esistente._wcreat è una versione a caratteri estesi di _creat; filename argomento a _wcreat è una stringa di caratteri estesi._wcreat e _creat comportano in modo identico in caso contrario.

Mapping di routine a testo generico

routine di Tchar.h

_UNICODE e _MBCS non definiti

_MBCS definito

_UNICODE definito

_tcreat

_creat

_creat

_wcreat

Se il file specificato da filename non esiste, viene creato un nuovo file con l'impostazione di autorizzazione specificata e aperto per la scrittura.Se il file esiste già e l'impostazione autorizzazione consente la scrittura, _creat tronca il file alla lunghezza 0, eliminazione dei contenuti precedenti e aperto per la scrittura.L'impostazione di autorizzazione, pmode, si applica ai file appena creato solo.Il nuovo file riceve l'impostazione di autorizzazione specificata dopo aver chiuso per la prima volta.l'espressione Integer pmode contiene una o entrambe le costanti manifesto _S_IWRITE e _S_IREAD, definito nel sistema \Stat h.Quando entrambe le costanti vengono fornite, vengono unite dal bit per bit OR operatore (|).pmode il parametro è impostato su uno dei seguenti valori.

Valore

Definizione

_S_IWRITE

Scrittura valida.

_S_IREAD

Lettura valida.

_S_IREAD | _S_IWRITE

lettura e scrittura consentite.

Se l'autorizzazione di scrittura non viene concessa, il file è di sola lettura.tutti i file sono sempre leggibili; è impossibile da fornire l'autorizzazione di sola scrittura.le modalità _S_IWRITE e _S_IREAD| _S_IWRITE essere quindi equivalente.Aprire file tramite _creat verranno visualizzate sempre in modalità di compatibilità (vedere _sopen) con _SH_DENYNO.

_creat applica la maschera corrente di autorizzazione file a pmode prima di impostare le autorizzazioni (vedere _umask)._creat viene fornito principalmente per la compatibilità delle librerie precedenti.una chiamata a _open con _O_CREAT e _O_TRUNC in oflag il parametro equivale a _creat ed è preferibile per il nuovo codice.

Requisiti

routine

Intestazione di associazione

intestazione facoltativa

_creat

<io.h>

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

_wcreat

<io.h> o <wchar.h>

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

Per ulteriori informazioni sulla compatibilità, vedere compatibilità nell'introduzione.

Esempio

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

Vedere anche

Riferimenti

L'I/O di basso livello

_chmod, _wchmod

_chsize

_close

_dup, _dup2

_open, _wopen

_sopen, _wsopen

_umask