Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Yeni bir dosya oluşturur. _creatve _wcreat kullanım dışı bırakıldı; bunun yerine kullanın_sopen_s_wsopen_s.
Sözdizimi
int _creat(
const char *filename,
int pmode
);
int _wcreat(
const wchar_t *filename,
int pmode
);
Parametreler
filename
Yeni dosyanın adı.
pmode
İzin ayarı.
Dönüş değeri
Bu işlevler başarılı olursa, oluşturulan dosyaya bir dosya tanımlayıcısı döndürür. Aksi takdirde, işlevler -1 döndürür ve aşağıdaki tabloda gösterildiği gibi ayarlanır errno .
errno değer |
Açıklama |
|---|---|
EACCES |
filename var olan bir salt okunur dosyayı belirtir veya dosya yerine bir dizin belirtir. |
EMFILE |
Başka dosya tanımlayıcısı yok. |
ENOENT |
Belirtilen dosya bulunamadı. |
ise filename NULL, bu işlevler Parametre doğrulama bölümünde açıklandığı gibi geçersiz parametre işleyicisini çağırır. Yürütmenin devam etmesi için izin verilirse, bu işlevler olarak EINVAL ayarlanır errno ve -1 döndürür.
Bunlar ve diğer iade kodları hakkında daha fazla bilgi için bkz. errno, _doserrno, _sys_errlistve _sys_nerr.
Açıklamalar
_creat İşlev yeni bir dosya oluşturur veya var olan bir dosyayı açar ve keser. _wcreat , öğesinin _creatgeniş karakterli bir sürümüdür; filename bağımsız değişkeni _wcreat geniş karakterli bir dizedir. _wcreat ve _creat aksi takdirde aynı şekilde davran.
Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bunu değiştirmek için bkz . CRT'de Genel durum.
Genel metin yordamı eşlemeleri
| Tchar.h yordamı | _UNICODE ve _MBCS tanımlanmadı |
_MBCS tanımlanan |
_UNICODE tanımlanan |
|---|---|---|---|
_tcreat |
_creat |
_creat |
_wcreat |
tarafından filename belirtilen dosya yoksa, verilen izin ayarıyla yeni bir dosya oluşturulur ve yazmak üzere açılır. Dosya zaten varsa ve izin ayarı yazmaya izin veriyorsa, _creat dosyayı 0 uzunluğuna kadar keserek önceki içeriği yok eder ve yazmak üzere açar. İzin ayarı, pmodeyalnızca yeni oluşturulan dosyalar için geçerlidir. Yeni dosya, ilk kez kapatıldıktan sonra belirtilen izin ayarını alır. Tamsayı ifadesi pmode , SYS\Stat.h içinde tanımlanan bildirim sabitlerinden _S_IWRITE _S_IREADbirini veya her ikisini de içerir. Her iki sabit de verildiğinde bit düzeyinde veya işleciyle ( | ) birleştirilir. pmode parametresi aşağıdaki değerlerden birine ayarlanır.
| Değer | Tanım |
|---|---|
_S_IWRITE |
Yazma izni verilir. |
_S_IREAD |
Okuma izni verilir. |
_S_IREAD | _S_IWRITE |
Okuma ve yazma izin verilir. |
Yazma izni verilmezse, dosya salt okunurdur. Tüm dosyalar her zaman okunabilir; yalnızca yazma izni vermek mümkün değildir. ve modları _S_IWRITE _S_IREAD | _S_IWRITE daha sonra eşdeğerdir. kullanılarak _creat açılan dosyalar her zaman ile uyumluluk modunda açılır (bkz _sopen. ) ile _SH_DENYNO.
_creat izinleri ayarlamadan önce geçerli dosya izni maskesini pmode uygular (bkz _umask. ). _creat , öncelikle önceki kitaplıklarla uyumluluk için sağlanır. parametresinde oflag ve _O_TRUNC ile _O_CREAT çağrısı_open, ile eşdeğerdir _creat ve yeni kod için tercih edilir.
Gereksinimler
| Yordam | Gerekli başlık | İsteğe bağlı üst bilgi |
|---|---|---|
_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 bilgisi için bkz . Uyumluluk.
Ö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 );
}
}
Created data file.
Ayrıca bkz.
Alt düzey G/Ç
_chmod, _wchmod
_chsize
_close
_dup, _dup2
_open, _wopen
_sopen, _wsopen
_umask