native_sdk_reference_fs - aks3g/ai_mini_4wd_kit GitHub Wiki
File System処理用関数
定数一覧
型定義一覧
名前 | 概要 |
---|---|
AiMini4wdFile | ファイルポインタを表現するための型 |
AiMini4wdFileInfo | ファイルの情報を格納するための型 |
関数名一覧
名前 | 概要 |
---|---|
aiMini4wdFsOpen | ファイルを開く |
aiMini4wdFsClose | ファイルを閉じる |
aiMini4wdFsRead | ファイルからの読み出し |
aiMini4wdFsWrite | ファイルへの書き込み |
aiMini4wdFsSeek | ファイルポインタの位置を移動 |
aiMini4wdFsSize | ファイルサイズの取得 |
aiMini4wdFsEof | ファイルの終端に達しているかの確認 |
aiMini4wdFsSync | ファイルの同期(バッファの書き出し) |
aiMini4wdFsStat | ファイル状態の取得 |
aiMini4wdFsTruncate | ファイルのサイズを現在のポインタ位置に切り詰め |
aiMini4wdFsPrintf | ファイルに対して書式付文字列を書き込む |
aiMini4wdFsGets | ファイルからの文字列読み出し |
型定義
AiMini4wdFile
定義
typedef void AiMini4wdFile;
概要
システム内のファイル構造体へのポインタを作るための型
AiMini4wdFileInfo
定義
typedef struct AiMini4wdFileInfo_t {
size_t size;
uint8_t attr;
char name[256];
} AiMini4wdFileInfo;
メンバ
- size: ファイルのサイズ
- attr: ファイルの属性情報
- name: ファイル名
関数定義
aiMini4wdFsOpen
ファイル名を指定してファイルを開く
定義
AiMini4wdFile *aiMini4wdFsOpen(const char *path, const char *mode);
説明
ファイルシステムにあるファイルを読み込みます。 引数のpathにファイル名を指定し、mode に読み込み、書き込み等のモードを指定します。 modeには以下の文字の組み合わせを指定します。
- "w" : 書き込み
- "r" : 読み込み
- "a" : 追書き込み
- "x" : 新規作成
- "+" : 読み書き
引数
- path : ファイル名を指定します
- mode : ファイルのOpenモードを指定します。指定すべき文字列については概要を参照してください
戻り値
- NULL - ファイルが存在しない/ディスクが存在しない等何らかのエラーが発生したケース
- ファイルディスクリプタへのポインタ(非NULL)
aiMini4wdFsClose
ファイル名を指定してファイルを閉じる
定義
void aiMini4wdFsClose(AiMini4wdFile *file);
説明
既に開いているファイルを閉じます。
引数
- file : 閉じたいファイルのファイルディスクリプタ
戻り値
なし
aiMini4wdFsRead
ファイルからの読み込み
定義
int aiMini4wdFsRead(AiMini4wdFile *file, void *buf, size_t size);
説明
ファイルから指定したバイト数を読み込みます。指定するファイルポインタは事前にopenしておく必要があります。
引数
- file : 操作したいファイルディスクリプタ
- buf : 読み込んだデータを格納するためのバッファ
- size : 読み込むサイズ
戻り値
- AI_OK - 成功
- その他 - 何らかのエラー
aiMini4wdFsWrite
ファイルへの書き込み
定義
int aiMini4wdFsWrite(AiMini4wdFile *file, const void *buf, size_t size);
説明
ファイルに対して指定したバイト数分の書き込みを行います。
引数
- file : 操作したいファイルディスクリプタ
- buf : 書き込みたいデータが入ったバッファ
- size : 書き込むサイズ
戻り値
- AI_OK - 成功
- その他 - 何らかのエラー
aiMini4wdFsSeek
ファイルのオフセット操作
定義
int aiMini4wdFsSeek(AiMini4wdFile *file, int32_t offset);
説明
ファイルのオフセットの位置をoffsetで指定された場所に移動します。
引数
- file : 操作したいファイルディスクリプタ
- offset : ファイルのオフセット位置の移動先
戻り値
- AI_OK - 成功
- その他 - 何らかのエラー
aiMini4wdFsSize
ファイルサイズの取得
定義
int aiMini4wdFsSize(AiMini4wdFile *file);
説明
対象となるファイルのサイズを返します。
引数
- file : ファイルディスクリプタ
戻り値
- 0以上 - ファイルサイズ
- 負の値 - 何らかのエラー
aiMini4wdFsEof
ファイル終端の判定
定義
int aiMini4wdFsEof(AiMini4wdFile *file);
説明
現在指しているファイルオフセットがファイルの末尾(EOF)であるかどうかの判定を行います。
引数
- file : ファイルディスクリプタ
戻り値
- 1 - ファイル終端
- 0 - ファイル終端ではない
aiMini4wdFsSync
物理ディスクへの掃き出し処理
定義
int aiMini4wdFsSync(AiMini4wdFile *file);
説明
ファイルへの途中操作の内容を強制的に出力(Flush)する。
引数
- file : ファイルディスクリプタ
戻り値
- AI_OK - 成功
- その他 - 何らかのエラー
aiMini4wdFsStat
ファイル情報の取得
定義
int aiMini4wdFsStat(const char *path, AiMini4wdFileInfo *info);
説明
ファイル名を指定して、ファイルの情報(AiMini4wdFileInfo)を取得します。
引数
- file : ファイルディスクリプタ
- info : ファイル情報の格納先
戻り値
- AI_OK - 成功
- その他 - 何らかのエラー
aiMini4wdFsTruncate
ファイルサイズの切り詰め
定義
int aiMini4wdFsTruncate(AiMini4wdFile *file);
説明
ファイルサイズを現在のオフセット位置まで切り詰めます
引数
- file : ファイルディスクリプタ
戻り値
- AI_OK - 成功
- その他 - 何らかのエラー
aiMini4wdFsPrintf
書式付文字列をファイルに書き出す
定義
int aiMini4wdFsPrintf(AiMini4wdFile *file, const char *str, ...);
説明
書式付文字列をファイルに対して書き出します。 書式は、printfと同等のモノになります。
引数
- file : ファイルディスクリプタ
- str : 書式付文字列
戻り値
- 0以上 - 成功、書き込んだ文字列数
- その他 - 何らかのエラー
aiMini4wdFsGets
ファイルからの文字列読み込み
定義
char *aiMini4wdFsGets(AiMini4wdFile *file, char *buf, size_t len);
説明
ファイルから文字列を読み込みます。EOFに達するか、'\n'に達する、バッファがいっぱいになるまで読み込みを続けます。
引数
- file : ファイルディスクリプタ
- buf : 読み込み先バッファ
- len : バッファサイズ
戻り値
- NULL - 何らかのエラー
- その他 - buf(ポインタ)