awtk/docs/manual/tk_istream_t.md

204 lines
5.6 KiB
Markdown
Raw Normal View History

2019-09-04 14:17:18 +08:00
## tk\_istream\_t
### 概述
![image](images/tk_istream_t_0.png)
2019-11-15 11:41:53 +08:00
输入流的接口。
2019-09-04 14:17:18 +08:00
----------------------------------
### 函数
<p id="tk_istream_t_methods">
| 函数名称 | 说明 |
| -------- | ------------ |
2020-09-16 09:58:28 +08:00
| <a href="#tk_istream_t_tk_istream_eos">tk\_istream\_eos</a> | 判断数据是否读完。 |
2019-11-15 11:33:43 +08:00
| <a href="#tk_istream_t_tk_istream_flush">tk\_istream\_flush</a> | 刷新数据。 |
| <a href="#tk_istream_t_tk_istream_read">tk\_istream\_read</a> | 读取数据。 |
| <a href="#tk_istream_t_tk_istream_read_len">tk\_istream\_read\_len</a> | 读取指定长度的数据。 |
| <a href="#tk_istream_t_tk_istream_read_line">tk\_istream\_read\_line</a> | 读取一行数据。 |
2020-09-16 09:58:28 +08:00
| <a href="#tk_istream_t_tk_istream_read_line_str">tk\_istream\_read\_line\_str</a> | 读取一行数据。 |
2019-11-15 11:33:43 +08:00
| <a href="#tk_istream_t_tk_istream_seek">tk\_istream\_seek</a> | 设置偏移量。 |
2020-09-16 09:58:28 +08:00
| <a href="#tk_istream_t_tk_istream_tell">tk\_istream\_tell</a> | 获取当前读取位置。 |
2019-11-15 11:33:43 +08:00
| <a href="#tk_istream_t_tk_istream_wait_for_data">tk\_istream\_wait\_for\_data</a> | 等待数据。 |
2020-09-16 09:58:28 +08:00
#### tk\_istream\_eos 函数
-----------------------
* 函数功能:
> <p id="tk_istream_t_tk_istream_eos">判断数据是否读完。
* 函数原型:
```
bool_t tk_istream_eos (tk_istream_t* stream);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | bool\_t | 返回TRUE表示数据读完否则表示还有数据。 |
| stream | tk\_istream\_t* | istream对象。 |
2019-09-30 17:11:53 +08:00
#### tk\_istream\_flush 函数
2019-09-04 14:17:18 +08:00
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="tk_istream_t_tk_istream_flush">刷新数据。
2019-10-16 09:02:32 +08:00
2019-09-30 17:11:53 +08:00
* 函数原型:
2019-09-04 14:17:18 +08:00
2019-09-30 17:11:53 +08:00
```
ret_t tk_istream_flush (tk_istream_t* stream);
```
2019-09-04 14:17:18 +08:00
2019-09-30 17:11:53 +08:00
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| stream | tk\_istream\_t* | istream对象。 |
#### tk\_istream\_read 函数
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="tk_istream_t_tk_istream_read">读取数据。
2019-10-16 09:02:32 +08:00
2019-09-04 14:17:18 +08:00
* 函数原型:
```
2019-12-30 12:44:15 +08:00
int32_t tk_istream_read (tk_istream_t* stream, void* buff, uint32_t max_size);
2019-09-04 14:17:18 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | int32\_t | 返回负数表示读取失败,否则返回实际读取数据的长度。 |
| stream | tk\_istream\_t* | istream对象。 |
2019-12-30 12:44:15 +08:00
| buff | void* | 返回数据的缓冲区。 |
2019-09-04 14:17:18 +08:00
| max\_size | uint32\_t | 缓冲区的大小。 |
#### tk\_istream\_read\_len 函数
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="tk_istream_t_tk_istream_read_len">读取指定长度的数据。
2019-10-16 09:02:32 +08:00
2019-09-30 17:11:53 +08:00
* 函数原型:
```
2019-12-30 12:44:15 +08:00
int32_t tk_istream_read_len (tk_istream_t* stream, void* buff, uint32_t max_size, uint32_t timeout_ms);
2019-09-30 17:11:53 +08:00
```
* 参数说明:
2019-09-04 14:17:18 +08:00
2019-09-30 17:11:53 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | int32\_t | 返回负数表示读取失败,否则返回实际读取数据的长度。 |
| stream | tk\_istream\_t* | istream对象。 |
2019-12-30 12:44:15 +08:00
| buff | void* | 返回数据的缓冲区。 |
2019-09-30 17:11:53 +08:00
| max\_size | uint32\_t | 缓冲区的大小。 |
| timeout\_ms | uint32\_t | timeout. |
#### tk\_istream\_read\_line 函数
-----------------------
2019-09-04 14:17:18 +08:00
2019-09-30 17:11:53 +08:00
* 函数功能:
2019-09-04 14:17:18 +08:00
2019-11-15 11:33:43 +08:00
> <p id="tk_istream_t_tk_istream_read_line">读取一行数据。
2019-10-16 09:02:32 +08:00
2019-09-04 14:17:18 +08:00
* 函数原型:
```
2019-12-30 12:44:15 +08:00
int32_t tk_istream_read_line (tk_istream_t* stream, void* buff, uint32_t max_size, uint32_t timeout_ms);
2019-09-04 14:17:18 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | int32\_t | 返回负数表示读取失败,否则返回实际读取数据的长度。 |
| stream | tk\_istream\_t* | istream对象。 |
2019-12-30 12:44:15 +08:00
| buff | void* | 返回数据的缓冲区。 |
2019-09-04 14:17:18 +08:00
| max\_size | uint32\_t | 缓冲区的大小。 |
2019-09-30 17:11:53 +08:00
| timeout\_ms | uint32\_t | timeout. |
2020-09-16 09:58:28 +08:00
#### tk\_istream\_read\_line\_str 函数
-----------------------
* 函数功能:
> <p id="tk_istream_t_tk_istream_read_line_str">读取一行数据。
2022-12-05 12:10:53 +08:00
>istream必须支持随机读写(seek/tell)。
2020-09-16 09:58:28 +08:00
* 函数原型:
```
ret_t tk_istream_read_line_str (tk_istream_t* stream, str_t* str);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| stream | tk\_istream\_t* | istream对象。 |
| str | str\_t* | 返回数据的str对象。 |
2019-09-04 14:17:18 +08:00
#### tk\_istream\_seek 函数
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="tk_istream_t_tk_istream_seek">设置偏移量。
2019-10-16 09:02:32 +08:00
2019-09-30 17:11:53 +08:00
* 函数原型:
2019-09-04 14:17:18 +08:00
2019-09-30 17:11:53 +08:00
```
ret_t tk_istream_seek (tk_istream_t* stream, uint32_t offset);
```
2019-09-04 14:17:18 +08:00
2019-09-30 17:11:53 +08:00
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| stream | tk\_istream\_t* | istream对象。 |
| offset | uint32\_t | 偏移量。 |
2020-09-16 09:58:28 +08:00
#### tk\_istream\_tell 函数
-----------------------
* 函数功能:
> <p id="tk_istream_t_tk_istream_tell">获取当前读取位置。
* 函数原型:
```
int32_t tk_istream_tell (tk_istream_t* stream);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | int32\_t | 返回负数表示失败,否则返回当前读取位置。 |
| stream | tk\_istream\_t* | istream对象。 |
2019-09-30 17:11:53 +08:00
#### tk\_istream\_wait\_for\_data 函数
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="tk_istream_t_tk_istream_wait_for_data">等待数据。
2019-10-16 09:02:32 +08:00
2019-09-04 14:17:18 +08:00
* 函数原型:
```
2019-09-30 17:11:53 +08:00
ret_t tk_istream_wait_for_data (tk_istream_t* stream, uint32_t timeout_ms);
2019-09-04 14:17:18 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| stream | tk\_istream\_t* | istream对象。 |
2019-09-30 17:11:53 +08:00
| timeout\_ms | uint32\_t | 超时时间。 |