Aracılığıyla paylaş


_creat, _wcreat

Yeni bir dosya oluşturur._creatve _wcreat kaldırılmıştır; kullanmak _sopen_s, _wsopen_s yerine.

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

Parametreler

  • filename
    Yeni dosya adı.

  • pmode
    İzin ayarı.

Dönüş Değeri

Bu işlevler, başarılı olursa, dosya tanımlayıcısı oluşturulan dosyasına dönün.Aksi takdirde –1 işlevleri döndürür ve errno aşağıdaki tabloda gösterildiği gibi.

errnoayarı

Description

EACCES

filenameVarolan bir salt okunur dosya veya bir dosya yerine bir dizin belirtir.

EMFILE

Daha fazla hiçbir dosya tanımlayıcıları vardır.

ENOENT

Belirtilen dosya bulunamadı.

filename Null, bu işlevler açıklandığı gibi geçersiz bir parametre işleyicisi çağırmak Parametre doğrulama.Yürütülmesine devam etmek için izin verilmişse, bu işlevler kümesi errno için EINVAL ve -1 döndürür.

Bunlar ve diğer dönüş kodları hakkında daha fazla bilgi için bkz: _doserrno, errno, _sys_errlist ve _sys_nerr.

Notlar

_creat İşlevi yeni bir dosya oluşturur veya açar ve varolan bir keser._wcreatgeniş karakter sürümü _creat; filename bağımsız değişkeni _wcreat bir geniş karakter dizesidir._wcreatve _creat Aksi takdirde aynı şekilde davranır.

Genel metin yordamı eşlemeleri

Tchar.h yordamına girildi

_UNICODE ve _mbcs tanımlı değil

Tanımlanan _mbcs

Tanımlanan _UNICODE

_tcreat

_creat

_creat

_wcreat

Belirtilen dosya, filename yok, yeni bir dosya ile verilen izin ayarını oluşturulur ve yazma için açılan.Dosya zaten varsa ve yazma, onun izni ayarı sağlar _creat önceki içeriği yok edip uzunluğu 0, dosyaya keser ve yazmak için açılır.İzin ayarı pmode, yalnızca yeni oluşturulan dosyalar için geçerlidir.İlk kez kapatıldıktan sonra yeni dosyayı belirtilen izin ayarını alır.Tamsayı deyim pmode birini veya her ikisini bildirim sabitleri içerir _S_IWRITE ve _S_IREAD, SYS\Stat.h içinde tanımlı.Her iki sabitleri verildiğinde, bunlar Bitsel katılmış OR işlecini ()|).pmode Parametre aşağıdaki değerlerden birini ayarlanır.

Value

Tanım

_S_IWRITE

Yazma izni.

_S_IREAD

Okuma izni.

_S_IREAD | _S_IWRITE

Okuma ve yazma izni.

Yazma izni verilmemişse, dosya salt-okunurdur.Tüm dosyaları her zaman okunabilir; salt yazma izni vermek imkansızdır.Modları _S_IWRITE ve _S_IREAD| _S_IWRITE sonra eşdeğerdir.Dosyaları kullanarak açılan _creat her zaman uyumluluk modunda açılır (bkz: _sopen) ile _SH_DENYNO.

_creatGeçerli dosya izni maske uygulanır pmode izinlerini ayarlamadan önce (bkz: _umask)._creatöncelikle önceki kitaplıkları ile uyumluluk için sağlanır.Çağrı _open ile _O_CREAT ve _O_TRUNC , oflag parametresi için eşdeğer _creat ve yeni kodu için tercih edilir.

Gereksinimler

Yordamı

Gerekli başlık

İsteğe bağlı bir üstbilgi

_creat

<io.h>

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

_wcreat

<io.h> veya <wchar.h>

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

Daha fazla uyumluluk bilgileri için bkz: Uyumluluk giriş.

Örnek

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

Ayrıca bkz.

Başvuru

Alt düzey g/Ç

_chmod, _wchmod

_chsize

_close

_dup, _dup2

_open, _wopen

_sopen, _wsopen

_umask