Compartir a través de


_creat, _wcreat

crea un nuevo archivo.están desusadas_creat y _wcreat ; uso _sopen_s, _wsopen_s en su lugar.

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

Parámetros

  • filename
    Nombre del nuevo archivo.

  • pmode
    configuración de permisos.

Valor devuelto

Estas funciones, si son correctas, devuelven descriptor de archivo al archivo creado.Si no, el valor devuelto de las funciones – 1 y conjunto errno tal y como se muestra en la tabla siguiente.

Valor de errno

Descripción

EACCES

filename especifica un archivo de sólo lectura existente o especifica un directorio en lugar de un archivo.

EMFILE

No más de descriptores de archivo están disponibles.

ENOENT

El archivo especificado no se encontró.

Si filename es NULL, estas funciones se invoca el controlador no válido de parámetro, tal y como se describe en Validación de parámetros.Si la ejecución puede continuar, este errno establecido funciones a EINVAL y retorno -1.

Para obtener más información sobre éstos y otros códigos de retorno, vea _doserrno, errno, _sys_errlist, y _sys_nerr.

Comentarios

La función de _creat crea un nuevo archivo o se abre y trunca existente._wcreat es una versión con caracteres anchos de _creat; el argumento de filename a _wcreat es una cadena de caracteres._wcreat y _creat se comportan exactamente igual de otra manera.

Asignaciones de la rutina de texto genérico

rutina de Tchar.h

_UNICODE y _MBCS no definido

_MBCS definido

_UNICODE definido

_tcreat

_creat

_creat

_wcreat

Si no existe el archivo especificado por filename , un nuevo archivo se crea con la configuración de permisos especificada y se abrirá para escribir.Si el archivo ya existe y la configuración de permisos permite escribir, _creat trunca el archivo a la longitud 0, destruyendo el contenido anteriores, y lo abre para escribir.La configuración de permisos, pmode, se aplica a archivos creados recientemente únicamente.El nuevo archivo recibe la configuración de permisos especificada después de cerrar por primera vez.La expresión de entero pmode contiene una o ambas de las constantes del manifiesto _S_IWRITE y _S_IREAD, definido en SYS \Stat .h.Cuando se dan ambas constantes, se combinan con el operador bit a bit de OR (|).El parámetro de pmode se establece en uno de los valores siguientes.

Valor

Definición

_S_IWRITE

Escribir permitida.

_S_IREAD

lectura permitida.

_S_IREAD | _S_IWRITE

lectura y escritura permitidas.

Si el permiso de escritura no se especifica, el archivo es de sólo lectura.Todos los archivos siempre son legibles; no se puede asignar el permiso de solo escritura.Los modos _S_IWRITE y _S_IREAD| _S_IWRITE constituyen equivalentes.Los archivos abiertos mediante _creat se abren siempre en modo de compatibilidad (vea _sopen) con _SH_DENYNO.

_creat aplica la máscara actual de los permisos de archivo a pmode antes de establecer los permisos (vea _umask)._creat se proporciona principalmente para la compatibilidad bibliotecas anteriores.una llamada a _open con _O_CREAT y a _O_TRUNC en el parámetro de oflag es equivalente a _creat y es preferible para el nuevo código.

Requisitos

rutina

Encabezado necesario

encabezado opcional

_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>

Para obtener más información de compatibilidad, vea compatibilidad en la Introducción.

Ejemplo

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

Vea también

Referencia

E/S de bajo nivel

_chmod, _wchmod

_chsize

_close

_dup, _dup2

_open, _wopen

_sopen, _wsopen

_umask