_rtl_creat, _wrtl_creat
io.h:インデックス への移動
ヘッダーファイル
io.h
カテゴリ
入出力ルーチン
プロトタイプ
int _rtl_creat(const char *path, int attrib);
int _wrtl_creat(const wchar_t *path, int attrib);
説明
新しいファイルを作成するか,既存のファイルを上書きします。
'メモ: _creat' は使用されなくなり,この _rtl_creat 関数に置き換えられました。
_rtl_creat は,path で指定されたファイルを開きます。このファイルは,常にバイナリモードで開かれます。ファイルの作成が成功すると,ファイルポインタはファイルの先頭に設定されます。このファイルは,読み出しと書き込みの両方の目的で開くことができます。
ファイルがすでに存在する場合は,そのサイズが 0 にリセットされます。これは,そのファイルを削除し,同じ名前で新しいファイルを作成することと基本的に同じです。
attrib 属性は,次のいくつかの定数(dos.h で定義)を OR で組み合わせた値です。
FA_RDONLY |
読み出し専用属性 |
FA_HIDDEN |
非表示ファイル |
FA_SYSTEM |
システムファイル |
戻り値
成功した場合,_rtl_creat は,新しいファイルハンドル(負でない整数)を返します。
エラーが発生した場合は -1 を返し,グローバル変数 errno に次のいずれかの値を設定します。
EACCES - アクセスが許可されない
EMFILE - オープンファイルが多すぎる
ENOENT - パスまたはファイル名が見つからない
例
#include <string.h>
#include <stdio.h>
#include <io.h>
int main() {
unsigned count;
int handle;
char buf[11] = "0123456789";
/* _rtl_creat を使って 10 バイトのファイルを作成します */
if ((handle = _rtl_creat("DUMMY2.FIL", 0)) < 0) {
perror("Unable to _rtl_create DUMMY2.FIL");
return 1;
}
if (_rtl_write(handle, buf, strlen(buf)) < 0) {
perror("Unable to _rtl_write to DUMMY2.FIL");
return 1;
}
_rtl_close(handle);
return 0;
}
移植性
POSIX | Win32 | ANSI C | ANSI C++ | |
---|---|---|---|---|
_rtl_crea |
+ |
|||
_wrtl_creat |
NT のみ |