awtk/docs/manual/rom_file_t.md
2023-06-29 10:44:29 +08:00

194 lines
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## rom\_file\_t
### 概述
rom_file接口。
> 主要用于给google pinyin输入提供兼容的文件系统API。
示例:
```c
char rbuff[100];
size_t len = 0;
const char* buff = "hello world";
rom_file_t* f = rom_fopen_buff((const uint8_t*)buff, sizeof(buff));
len = rom_fread(rbuff, 2, 1, f);
rom_fclose(f);
```
----------------------------------
### 函数
<p id="rom_file_t_methods">
| 函数名称 | 说明 |
| -------- | ------------ |
| <a href="#rom_file_t_rom_fclose">rom\_fclose</a> | 关闭文件。 |
| <a href="#rom_file_t_rom_feof">rom\_feof</a> | 判断是否到文件末尾。 |
| <a href="#rom_file_t_rom_fopen">rom\_fopen</a> | 打开文件。 |
| <a href="#rom_file_t_rom_fopen_buff">rom\_fopen\_buff</a> | 打开文件。 |
| <a href="#rom_file_t_rom_fread">rom\_fread</a> | 读取文件。 |
| <a href="#rom_file_t_rom_fseek">rom\_fseek</a> | 设置文件当前位置。 |
| <a href="#rom_file_t_rom_ftell">rom\_ftell</a> | 返回文件当前位置。 |
| <a href="#rom_file_t_rom_fwrite">rom\_fwrite</a> | 写文件。 |
#### rom\_fclose 函数
-----------------------
* 函数功能:
> <p id="rom_file_t_rom_fclose">关闭文件。
* 函数原型:
```
ret_t rom_fclose (rom_file_t* f);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| f | rom\_file\_t* | rom\_file\_t对象。 |
#### rom\_feof 函数
-----------------------
* 函数功能:
> <p id="rom_file_t_rom_feof">判断是否到文件末尾。
* 函数原型:
```
int rom_feof (rom_file_t* f);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | int | 返回当前位置。 |
| f | rom\_file\_t* | rom\_file\_t对象。 |
#### rom\_fopen 函数
-----------------------
* 函数功能:
> <p id="rom_file_t_rom_fopen">打开文件。
* 函数原型:
```
rom_file_t* rom_fopen (const char* name, const char* mode);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | rom\_file\_t* | 返回不是NULL表示成功否则表示失败。 |
| name | const char* | 文件名。 |
| mode | const char* | 打开方式。 |
#### rom\_fopen\_buff 函数
-----------------------
* 函数功能:
> <p id="rom_file_t_rom_fopen_buff">打开文件。
* 函数原型:
```
rom_file_t* rom_fopen_buff (const uint8_t* data, uint32_t capacity);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | rom\_file\_t* | 打开成功则返回rom\_file\_t对象否则返回NULL。 |
| data | const uint8\_t* | 数据。 |
| capacity | uint32\_t | 容量。 |
#### rom\_fread 函数
-----------------------
* 函数功能:
> <p id="rom_file_t_rom_fread">读取文件。
* 函数原型:
```
size_t rom_fread (void* ptr, size_t size, size_t nitems, rom_file_t* f);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | size\_t | 返回实际读取的字节数。 |
| ptr | void* | 数据的缓冲区。 |
| size | size\_t | 缓冲区大小。 |
| nitems | size\_t | 元素的个数。 |
| f | rom\_file\_t* | rom\_file\_t对象。 |
#### rom\_fseek 函数
-----------------------
* 函数功能:
> <p id="rom_file_t_rom_fseek">设置文件当前位置。
* 函数原型:
```
int rom_fseek (rom_file_t* f, long offset, int whence);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | int | 返回0表示成功。 |
| f | rom\_file\_t* | rom\_file\_t对象。 |
| offset | long | 偏移量。 |
| whence | int | 要从哪个位置开始偏移, SEEK\_SET表示从头开始SEEK\_CUR表示从当前位置开始SEEK\_END表示从文件末尾开始。 |
#### rom\_ftell 函数
-----------------------
* 函数功能:
> <p id="rom_file_t_rom_ftell">返回文件当前位置。
* 函数原型:
```
long rom_ftell (rom_file_t* f);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | long | 返回当前位置。 |
| f | rom\_file\_t* | rom\_file\_t对象。 |
#### rom\_fwrite 函数
-----------------------
* 函数功能:
> <p id="rom_file_t_rom_fwrite">写文件。
> 本函数什么也不做。
* 函数原型:
```
size_t rom_fwrite (const void* ptr, size_t size, size_t nitems, rom_file_t* f);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | size\_t | 返回实际写的字节数。 |
| ptr | const void* | 数据的缓冲区。 |
| size | size\_t | 缓冲区大小。 |
| nitems | size\_t | 元素的个数。 |
| f | rom\_file\_t* | rom\_file\_t对象。 |