Share via


_create, _wcreat

Crée un fichier._creat et _wcreat ont été déconseillées ; utilisation _sopen_s, _wsopen_s à la place.

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

Paramètres

  • filename
    Nom de fichier.

  • pmode
    paramètre d'autorisation.

Valeur de retour

Ces fonctions, en cas de réussite, retournent un descripteur de fichier au fichier créé.Sinon, les fonctions retournent - 1 et errno défini comme indiqué dans le tableau suivant.

Paramètre errno

Description

EACCES

filename spécifie un fichier existant en lecture seule ou spécifie un répertoire à la place d'un fichier.

EMFILE

plus de descripteurs de fichier ne sont disponibles.

ENOENT

Le fichier spécifié est introuvable.

si filename est NULL, ces fonctions appellent le gestionnaire de paramètre non valide, comme décrit dans Validation des paramètres.Si est autorisé à l'exécution de se poursuivre, ces errno défini par fonctions à EINVAL et à retourner -1.

Pour plus d'informations sur ces éléments et d'autres codes de retour, consultez _doserrno, errno, _sys_errlist, et _sys_nerr.

Notes

La fonction d' _creat crée un nouveau fichier ou s'ouvre et tronque existant._wcreat est une version à caractère élargi d' _creat; l'argument d' filename à _wcreat est une chaîne à caractères larges._wcreat et _creat se comportent de sinon.

mappages de routines de texte générique

routine de Tchar.h

_UNICODE et _MBCS non définis

_MBCS défini

_UNICODE défini

_tcreat

_creat

_creat

_wcreat

Si le fichier spécifié par filename n'existe pas, un nouveau fichier est créé avec le paramètre d'autorisation donné et est ouvert pour écriture.Si le fichier existe déjà et son paramètre d'autorisation permet l'écriture, _creat tronque le fichier à la longueur 0, détruisant le contenu précédent, et l'ouvre en écriture.Le paramètre d'autorisation, pmode, applique aux fichiers récemment créés uniquement.Le nouveau fichier accepte le paramètre d'autorisation spécifié après qu'il a été fermé pour la première fois.L'expression entière pmode contient une ou les deux constantes manifestes _S_IWRITE et _S_IREAD, défini dans le système \Stat .h.Lorsque les deux constantes sont données, elles sont attachées avec l'opérateur de bits d' OR (|).Le paramètre d' pmode a une des valeurs suivantes.

Valeur

Définition

_S_IWRITE

écriture autorisée.

_S_IREAD

lecture autorisée.

_S_IREAD | _S_IWRITE

lecture et écriture autorisées.

Si l'autorisation d'écriture n'est pas accordée, le fichier est en lecture seule.tous les fichiers sont toujours lisibles ; il est impossible d'accorder l'autorisation en écriture seule.Les modes _S_IWRITE et _S_IREAD| _S_IWRITE sont ensuite équivalents.Ouvrir des fichiers à l'aide de _creat sont encore ouverts en mode de compatibilité (consultez _sopen) avec _SH_DENYNO.

_creat applique le masque d'autorisation de fichier en cours à pmode avant de définir les autorisations (consultez _umask)._creat est fourni essentiellement pour la compatibilité avec les bibliothèques précédentes.Un appel à _open avec _O_CREAT et à _O_TRUNC dans le paramètre d' oflag équivaut à _creat et est préférable pour le nouveau code.

Configuration requise

routine

en-tête requis

en-tête facultatif

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

Pour plus d'informations de compatibilité, consultez compatibilité dans l'introduction.

Exemple

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

Voir aussi

Référence

E/S de bas niveau

_chmod, _wchmod

_chsize

_close

_dup, _dup2

_open, _wopen

_sopen, _wsopen

_umask