_rtl_creat, _wrtl_creat

提供: RAD Studio
移動先: 案内検索

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 のみ