_dos_creat, _dos_creatnew - ファイルの作成
【書式】
#include <dos.h>
unsigned _dos_creat(const char *path, unsigned attr, int *handle);
unsigned _dos_creatnew(const char *path, unsigned attr, int
*handle);
【解説】
_dos_creat()はDOS窓システムコールの0x3Cを実行し、pathで指定した長さ
0 の新たなファイルを作成します。attrは作成されるファイルの属性を指定
し、<dos.h>で定義されている次の値を論理和してあたえます。
_A_NORMAL
通常のファイル
_A_RDONLY
読み出し専用ファイル
_A_HIDDEN
隠しファイル
_A_SYSTEM
システムファイル
ファイルの作成に成功すると*handle にファイルハンドルをセットします。
作成されたファイルは読み書きともに可能でオープンされます。すでに同名
のファイルが存在している場合には、 長さは0になりますがファイルの属性
は変化しません。
_dos_creatnew()はDOS窓システムコール0x5Bを実行します。 パラメタのあ
つかいは_dos_creat()と同様ですが、すでにファイルpathが存在していると
きには失敗します。
【リターン値】
成功すると0を返します。失敗するとerrnoをセットしてDOS窓のエラーコー
ドを返します。
【エラー】
ENOENT
先行するパスが存在しません
EMFILE
オープンされているファイルが多すぎます
EACCES
書き込み禁止ファイルが存在します
EACCES
ルートディレクトリに空きがありません
EEXIST
同名のファイルがすでに存在します
【可搬性】
DOS窓
【参照】
_dos_close(3), _dos_open(3), creat(3)
【copyright (c) 安江正樹@東海大学理学部物理学科】