_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) 安江正樹@東海大学理学部物理学科】