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 | 超时时间。 |
|