Voltar à lista
Linux x86_64Arquivos & E/S#85

creat

Cria um novo arquivo (ou trunca um existente) e o abre para escrita — equivalente a open com O_CREAT|O_WRONLY|O_TRUNC.

Descrição

Mantida por compatibilidade histórica; código novo tipicamente usa `open`/`openat` diretamente com as flags explícitas, que é igualmente eficiente e mais expressivo.

Header: fcntl.hman 2

Assinatura

int creat(const char * pathname, mode_t mode);

Parâmetros

ParâmetroTipoDescrição
pathnameconst char *Caminho do arquivo a criar/truncar.
modemode_tPermissões do arquivo, se criado.

Registradores (x86_64)

RegistradorPapelArgumento
raxnúmero da syscall (chamada) / valor de retorno (após SYSCALL)
rdiargumento 1pathnameconst char *
rsiargumento 2modemode_t

Valor de retorno

Um novo descritor de arquivo em sucesso; -1 em erro, com errno definido.

Códigos de erro (errno)

EACCES(13)
Permissão negada.
EEXIST(17)
Arquivo já existe.
EISDIR(21)
É um diretório (operação exige um arquivo comum).
ENOSPC(28)
Sem espaço livre no dispositivo.
EROFS(30)
Sistema de arquivos somente leitura.

Relacionadas