ホームに戻る
ファイル系
1、ファイルエントリ情報用ポインタの定義
2、ファイルディスクリプタの定義
3、ファイルエントリ情報を調べる
4、ファイルを作る
5、ファイル情報を追加する
6、ファイルを開く
7、ファイル内の移動
8、ファイルに書く
9、ファイルを読む
10、ファイルを閉じる
11、メモ
1、ファイルエントリ情報用ポインタの定義
struct stat *statbuf;
ファイルエントリ情報を入れる構造体へのポインタを定義
2、ファイルディスクリプタの定義
unsigned int fd;
ファイルディスクリプタの定義
3、ファイルエントリ情報を調べる
stat("/ram0/sample.txt", statbuf);
/ram0/sample.txtというファイルのファイルエントリ情報を調べる
エラーの場合負の値を返す
引数2にはファイルエントリ情報が入る
引数1:ファイルのフルパス (最大64バイト文字 ファイル名は最大16バイト文字)
引数2:ファイルエントリ情報用ポインタ
4、ファイルを作る
creat("/ram0/sample.txt", 0x06, 1)
ブロック1つぶんに読み書きできるファイルを作る
エラーの場合負の値を返す
引数1:ファイルのフルパス (最大64バイト文字 ファイル名は最大16バイト文字)
引数2:ファイルモード
bit0 :1で実行可能ファイル
bit1 :1で書き込み可能ファイル
bit2 :1で読み込み可能ファイル
bit3 :1でmmapさせない
bit4 :1でStreamILのインスタンス
bit5 :1でILのインスタンス
bit6 :シンボリックリンク
bit7 :ディレクトリ
引数3:ブロック数(1ブロックは128バイト)
5、ファイル情報を追加する
fs_setinfo("/ram0/sample.txt", "sample");
ファイルの情報を追加する
引数1:ファイルのフルパス (最大64バイト文字 ファイル名は最大16バイト文字)
引数2:ファイルの情報(最大24バイト文字)
6、ファイルを開く
open("/ram0/sample.txt", 0x06, 0x06);
ファイルを読み書き可能で開きファイルディスクリプタを得る
引数1:ファイルのフルパス (最大64バイト文字 ファイル名は最大16バイト文字)
引数2:ファイルのオープンモード
bit1 :1で書き込み可能
bit2 :1で読み込み可能
引数3:ファイルモード
bit0 :1で実行可能ファイル
bit1 :1で書き込み可能ファイル
bit2 :1で読み込み可能ファイル
bit3 :1でmmapさせない
bit4 :1でStreamILのインスタンス
bit5 :1でILのインスタンス
bit6 :シンボリックリンク
bit7 :ディレクトリ
戻り値:ファイルディスクリプタ
7、ファイル内の移動
lseek(fd, 0, 0);
引数1:ファイルディスクリプタ
引数2:0でファイル先頭から 1で現在から 2で末尾から
引数3:ファイルの位置
8、ファイルに書く
write(fd, (char far *)p, 4);
ファイルにポインタpからの内容を4バイト書き込む
エラーの場合は負の値を返す
引数1:ファイルディスクリプタ
引数2:書き込む値のポインタ
引数3:バイト数
9、ファイルを読む
read(fd, (char far *)p, 4);
ファイルから4バイト読み 内容をポインタpにセット
エラーの場合は負の値を返す
引数1:ファイルディスクリプタ
引数2:読み込んだ値にあてるポインタ
引数3:バイト数
10、ファイルを閉じる
close(fd);
ファイルを閉じる
引数1:ファイルディスクリプタ
11、メモ
エラーの場合は負の値を返す
エラーの種類はそれぞれ戻り値のビットを調べる