awtk/docs/manual/fs_file_t.md

253 lines
6.0 KiB
Markdown
Raw Normal View History

2019-10-09 10:16:54 +08:00
## fs\_file\_t
### 概述
2019-12-14 13:25:56 +08:00
文件接口。
示例:
```c
int32_t ret = 0;
const char* file_name = "test.txt";
int32_t len = file_get_size(file_name);
uint8_t* buff = (uint8_t*)TKMEM_ALLOC(len + 1);
return_value_if_fail(buff != NULL, NULL);
fs_file_t* fp = fs_open_file(os_fs(), file_name, "rb");
if (fp != NULL) {
ret = fs_file_read(fp, buff, len);
fs_file_close(fp);
}
```
2019-10-09 10:16:54 +08:00
----------------------------------
2020-05-24 19:28:22 +08:00
### 函数
<p id="fs_file_t_methods">
| 函数名称 | 说明 |
| -------- | ------------ |
| <a href="#fs_file_t_fs_file_close">fs\_file\_close</a> | 关闭文件。 |
| <a href="#fs_file_t_fs_file_eof">fs\_file\_eof</a> | 判断文件是否结束。 |
| <a href="#fs_file_t_fs_file_printf">fs\_file\_printf</a> | 写入文件。 |
| <a href="#fs_file_t_fs_file_read">fs\_file\_read</a> | 读取文件。 |
| <a href="#fs_file_t_fs_file_seek">fs\_file\_seek</a> | 定位读写指针到指定的位置。 |
| <a href="#fs_file_t_fs_file_size">fs\_file\_size</a> | 获取文件大小。 |
| <a href="#fs_file_t_fs_file_stat">fs\_file\_stat</a> | 获取文件信息。 |
| <a href="#fs_file_t_fs_file_sync">fs\_file\_sync</a> | 同步文件到磁盘。 |
| <a href="#fs_file_t_fs_file_tell">fs\_file\_tell</a> | 获取文件当前读写位置。 |
| <a href="#fs_file_t_fs_file_truncate">fs\_file\_truncate</a> | 清除文件内容。 |
| <a href="#fs_file_t_fs_file_write">fs\_file\_write</a> | 写入文件。 |
#### fs\_file\_close 函数
-----------------------
* 函数功能:
> <p id="fs_file_t_fs_file_close">关闭文件。
* 函数原型:
```
ret_t fs_file_close (fs_file_t* file);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| file | fs\_file\_t* | 文件对象。 |
#### fs\_file\_eof 函数
-----------------------
* 函数功能:
> <p id="fs_file_t_fs_file_eof">判断文件是否结束。
* 函数原型:
```
bool_t fs_file_eof (fs_file_t* file);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | bool\_t | 返回TRUE表示结束否则表示没结束。 |
| file | fs\_file\_t* | 文件对象。 |
#### fs\_file\_printf 函数
-----------------------
* 函数功能:
> <p id="fs_file_t_fs_file_printf">写入文件。
* 函数原型:
```
int32_t fs_file_printf (fs_file_t* file, const char* const format_str);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | int32\_t | 返回实际写入的字节数。 |
| file | fs\_file\_t* | 文件对象。 |
| format\_str | const char* const | 格式化字符串。 |
#### fs\_file\_read 函数
-----------------------
* 函数功能:
> <p id="fs_file_t_fs_file_read">读取文件。
* 函数原型:
```
int32_t fs_file_read (fs_file_t* file, void* buffer, uint32_t size);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | int32\_t | 返回实际读取的字节数。 |
| file | fs\_file\_t* | 文件对象。 |
| buffer | void* | 用于返回数据的缓冲区。 |
| size | uint32\_t | 缓冲区大小。 |
#### fs\_file\_seek 函数
-----------------------
* 函数功能:
> <p id="fs_file_t_fs_file_seek">定位读写指针到指定的位置。
* 函数原型:
```
ret_t fs_file_seek (fs_file_t* file, uint32_t offset);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| file | fs\_file\_t* | 文件对象。 |
| offset | uint32\_t | 数据长度。 |
#### fs\_file\_size 函数
-----------------------
* 函数功能:
> <p id="fs_file_t_fs_file_size">获取文件大小。
* 函数原型:
```
int64_t fs_file_size (fs_file_t* file);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | int64\_t | 返回文件大小。 |
| file | fs\_file\_t* | 文件对象。 |
#### fs\_file\_stat 函数
-----------------------
* 函数功能:
> <p id="fs_file_t_fs_file_stat">获取文件信息。
* 函数原型:
```
ret_t fs_file_stat (fs_file_t* file, fs_stat_info_t* fst);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| file | fs\_file\_t* | 文件对象。 |
| fst | fs\_stat\_info\_t* | 文件状态信息。 |
#### fs\_file\_sync 函数
-----------------------
* 函数功能:
> <p id="fs_file_t_fs_file_sync">同步文件到磁盘。
* 函数原型:
```
ret_t fs_file_sync (fs_file_t* file);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| file | fs\_file\_t* | 文件对象。 |
#### fs\_file\_tell 函数
-----------------------
* 函数功能:
> <p id="fs_file_t_fs_file_tell">获取文件当前读写位置。
* 函数原型:
```
int64_t fs_file_tell (fs_file_t* file);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | int64\_t | 返回文件当前读写位置。 |
| file | fs\_file\_t* | 文件对象。 |
#### fs\_file\_truncate 函数
-----------------------
* 函数功能:
> <p id="fs_file_t_fs_file_truncate">清除文件内容。
* 函数原型:
```
ret_t fs_file_truncate (fs_file_t* file);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| file | fs\_file\_t* | 文件对象。 |
#### fs\_file\_write 函数
-----------------------
* 函数功能:
> <p id="fs_file_t_fs_file_write">写入文件。
* 函数原型:
```
int32_t fs_file_write (fs_file_t* file, const void* buffer, uint32_t size);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | int32\_t | 返回实际写入的字节数。 |
| file | fs\_file\_t* | 文件对象。 |
| buffer | const void* | 数据缓冲区。 |
| size | uint32\_t | 数据长度。 |