Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Membuat file baru. _creat dan _wcreat telah tidak digunakan lagi; gunakan _sopen_s, _wsopen_s sebagai gantinya.
Sintaks
int _creat(
const char *filename,
int pmode
);
int _wcreat(
const wchar_t *filename,
int pmode
);
Parameter
filename
Nama file baru.
pmode
Pengaturan izin.
Nilai hasil
Fungsi-fungsi ini, jika berhasil, mengembalikan pendeskripsi file ke file yang dibuat. Jika tidak, fungsi mengembalikan -1 dan mengatur errno seperti yang ditunjukkan dalam tabel berikut.
errno nilai |
Deskripsi |
|---|---|
EACCES |
filename menentukan file baca-saja yang ada atau menentukan direktori alih-alih file. |
EMFILE |
Tidak ada lagi deskriptor file yang tersedia. |
ENOENT |
File yang ditentukan tidak dapat ditemukan. |
Jika filename adalah NULL, fungsi ini memanggil handler parameter yang tidak valid, seperti yang dijelaskan dalam Validasi parameter. Jika eksekusi diizinkan untuk melanjutkan, fungsi-fungsi ini diatur errno ke EINVAL dan mengembalikan -1.
Untuk informasi selengkapnya tentang kode pengembalian ini dan lainnya, lihat errno, , _doserrno_sys_errlist, dan _sys_nerr.
Keterangan
Fungsi ini _creat membuat file baru atau membuka dan memotong file yang sudah ada. _wcreat adalah versi karakter luas dari _creat; filename argumen ke _wcreat adalah string karakter lebar. _wcreat dan _creat berulah secara identik jika tidak.
Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubahnya, lihat Status global di CRT.
Pemetaan rutin teks generik
| Rutinitas Tchar.h | _UNICODE dan _MBCS tidak ditentukan |
_MBCS Didefinisikan |
_UNICODE Didefinisikan |
|---|---|---|---|
_tcreat |
_creat |
_creat |
_wcreat |
Jika file yang ditentukan oleh filename tidak ada, file baru dibuat dengan pengaturan izin yang diberikan dan dibuka untuk ditulis. Jika file sudah ada dan pengaturan izinnya memungkinkan penulisan, _creat memotong file ke panjang 0, menghancurkan konten sebelumnya, dan membukanya untuk ditulis. Pengaturan izin, pmode, hanya berlaku untuk file yang baru dibuat. File baru menerima pengaturan izin yang ditentukan setelah ditutup untuk pertama kalinya. Ekspresi pmode bilangan bulat berisi satu atau kedua konstanta _S_IWRITE manifes dan _S_IREAD, yang ditentukan dalam SYS\Stat.h. Ketika kedua konstanta diberikan, konstanta tersebut digabungkan dengan bitwise atau operator ( | ). Parameter pmode diatur ke salah satu nilai berikut.
| Nilai | Definisi |
|---|---|
_S_IWRITE |
Penulisan diizinkan. |
_S_IREAD |
Membaca diizinkan. |
_S_IREAD | _S_IWRITE |
Membaca dan menulis diizinkan. |
Jika izin tulis tidak diberikan, file bersifat baca-saja. Semua file selalu dapat dibaca; tidak mungkin untuk memberikan izin tulis-saja. Mode _S_IWRITE dan _S_IREAD | _S_IWRITE kemudian setara. File yang dibuka menggunakan _creat selalu dibuka dalam mode kompatibilitas (lihat _sopen) dengan _SH_DENYNO.
_creat menerapkan masker izin file saat ini sebelum pmode mengatur izin (lihat _umask). _creat disediakan terutama untuk kompatibilitas dengan pustaka sebelumnya. Panggilan ke _open dengan dan _O_TRUNC dalam oflag parameter setara _creat dengan _O_CREAT dan lebih disukai untuk kode baru.
Persyaratan
| Rutin | Header yang diperlukan | Header opsional |
|---|---|---|
_creat |
<io.h> | <sys/type.h>, <sys/stat.h>, <errno.h> |
_wcreat |
<io.h> atau <wchar.h> | <sys/type.h>, <sys/stat.h>, <errno.h> |
Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.
Contoh
// 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.
Lihat juga
I/O tingkat rendah
_chmod, _wchmod
_chsize
_close
_dup, _dup2
_open, _wopen
_sopen, _wsopen
_umask