Sintaxe:
int creat(const char * path, mode_t mode);
Quando se quer abrir um arquivo e criar o mesmo caso não exista ou truncar o mesmo caso já exista pode-se usar a função creat.
O arquivo será aberto somente para gravação pois esta função é equivalente a chamada da função open com os parâmetros abaixo.
open (path, O_WRONLY | O_CREAT | O_TRUNC, mode);
A função creat exige que se coloque o parâmetro de permissão conforme já definido na função open.
Veja o exemplo:
#include <stdio.h> #include <stdlib.h> #include <errno.h> #include <fcntl.h> #include <string.h> int main (int argc, char *argv[]) { int iFileDescriptor; if( argc < 2 ) { fprintf(stderr,"Obrigatório informar o nome do arquivo\n"); exit(1); } printf("Criando o arquivo %s com a funcao 'creat()'\n", argv[1]); iFileDescriptor = creat (argv[1], 0755); /* obrigatorio informar as permissoes */ if (iFileDescriptor < 0) { fprintf (stderr, "Erro : %s\n", strerror(errno)); exit(errno); /* informa o codigo de erro para o sistema operacional */ } printf ("Arquivo criado\n"); close (iFileDescriptor); return 0; }
— Marcos Laureano 2008/04/25 07:14