_creat, _wcreat

Cria um novo arquivo._create _wcreat foi preterido; Use _sopen_s, _wsopen_s em vez disso.

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

Parâmetros

  • filename
    Nome do novo arquivo.

  • pmode
    Configuração de permissão.

Valor de retorno

Essas funções, se bem-sucedida, retornam um descritor de arquivo para o arquivo criado.Caso contrário, as funções retornam – 1 e defina errno conforme mostrado na tabela a seguir.

errnoconfiguração

Descrição

EACCES

filenameEspecifica um arquivo existente de somente leitura ou especifica um diretório em vez de um arquivo.

EMFILE

Não há mais descritores de arquivo estão disponíveis.

ENOENT

Arquivo especificado não pôde ser encontrado.

Se filename for NULL, essas funções para chamar o manipulador de parâmetro inválido, conforme descrito em Validação de parâmetro.Se a execução terá permissão para continuar, essas funções definir errno para EINVAL e retornar -1.

Para obter mais informações sobre esses e outros códigos de retorno, consulte _doserrno, errno, _sys_errlist e _sys_nerr.

Comentários

O _creat função cria um novo arquivo ou abre e Trunca um já existente._wcreaté uma versão de caractere largo de _creat; o filename argumento para _wcreat é uma seqüência de caracteres largos._wcreate _creat tenham comportamento idêntico caso contrário.

Mapeamentos de rotina de texto genérico

Rotina de TCHAR.h

_ Unicode e _ MBCS do arquivo não definido

_ MBCS do arquivo definido

_ Unicode definido

_tcreat

_creat

_creat

_wcreat

Se o arquivo especificado por filename não existir, um novo arquivo é criado com a configuração de permissão determinado e é aberto para gravação.Se o arquivo já existe e sua configuração de permissão de escrita, permite que _creat trunca o arquivo para o comprimento 0, destruindo o conteúdo anterior e o abre para gravação.A configuração de permissão, pmode, se aplica somente a arquivos recém-criados.O novo arquivo recebe a configuração de permissão especificada após ser fechado pela primeira vez.A expressão de inteiro pmode contém uma ou ambas as constantes de manifesto _S_IWRITE e _S_IREAD, definido em SYS\Stat.h.Quando as duas constantes forem fornecidas, elas se unem com o bit a bit OR (operador**|**).O pmode parâmetro estiver definido como um dos seguintes valores.

Valor

Definição

_S_IWRITE

Permissão de escrita.

_S_IREAD

Permissão de leitura.

_S_IREAD | _S_IWRITE

Permissão de leitura e gravação.

Se a permissão de gravação não for fornecido, o arquivo é somente leitura.Todos os arquivos são sempre legíveis; é impossível dar permissão somente para gravação.Os modos de _S_IWRITE e _S_IREAD| _S_IWRITE , em seguida, são equivalentes.Arquivos abertos com _creat sejam sempre abertos no modo de compatibilidade (consulte _sopen) com _SH_DENYNO.

_creataplica-se a máscara de permissão de arquivo atual para pmode antes de definir as permissões (consulte _umask)._creaté fornecido principalmente para compatibilidade com bibliotecas anteriores.Uma chamada para _open com _O_CREAT e _O_TRUNC na oflag parâmetro é equivalente a _creat e é preferível para o novo código.

Requisitos

Rotina

Cabeçalho necessário

Cabeçalho opcional

_creat

<io.h>

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

_wcreat

<io.h> ou <wchar.h>

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

Para obter mais informações de compatibilidade, consulte compatibilidade na introdução.

Exemplo

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

Consulte também

Referência

Nível baixo e/S

_chmod, _wchmod

_chsize

Close

_dup, _dup2

Open, _wopen

_sopen, _wsopen

_umask