awtk/docs/manual/tokenizer_t.md

212 lines
4.8 KiB
Markdown
Raw Normal View History

2018-12-20 17:33:31 +08:00
## tokenizer\_t
### 概述
从字符串中解析出一个一个的token。
2019-01-15 14:34:05 +08:00
----------------------------------
2018-12-20 17:33:31 +08:00
### 函数
<p id="tokenizer_t_methods">
| 函数名称 | 说明 |
| -------- | ------------ |
2018-12-21 12:11:40 +08:00
| <a href="#tokenizer_t_tokenizer_deinit">tokenizer\_deinit</a> | 重置tokenizer。 |
| <a href="#tokenizer_t_tokenizer_has_more">tokenizer\_has\_more</a> | 是否还有下一个token。 |
| <a href="#tokenizer_t_tokenizer_init">tokenizer\_init</a> | 初始化tokenizer对象。 |
| <a href="#tokenizer_t_tokenizer_next">tokenizer\_next</a> | 获取下一个token。 |
| <a href="#tokenizer_t_tokenizer_next_float">tokenizer\_next\_float</a> | 获取下一个token并转换成float。 |
| <a href="#tokenizer_t_tokenizer_next_int">tokenizer\_next\_int</a> | 获取下一个token并转换成int。 |
2018-12-20 17:33:31 +08:00
### 属性
<p id="tokenizer_t_properties">
2019-01-17 15:56:15 +08:00
| 属性名称 | 类型 | 说明 |
2018-12-20 17:33:31 +08:00
| -------- | ----- | ------------ |
2018-12-21 18:29:29 +08:00
| <a href="#tokenizer_t_cursor">cursor</a> | uint32\_t | 当前位置。 |
2018-12-21 12:11:40 +08:00
| <a href="#tokenizer_t_separtor">separtor</a> | char* | 字符串。 |
2018-12-21 18:29:29 +08:00
| <a href="#tokenizer_t_size">size</a> | uint32\_t | 字符串的长度。 |
2018-12-21 12:11:40 +08:00
| <a href="#tokenizer_t_str">str</a> | char* | 字符串。 |
2018-12-20 17:33:31 +08:00
#### tokenizer\_deinit 函数
2018-12-21 18:29:29 +08:00
-----------------------
* 函数功能:
> <p id="tokenizer_t_tokenizer_deinit"> 重置tokenizer。
2018-12-21 11:39:05 +08:00
* 函数原型:
```
ret_t tokenizer_deinit (tokenizer_t* tokenizer);
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| tokenizer | tokenizer\_t* | tokenizer对象。 |
2018-12-21 18:29:29 +08:00
#### tokenizer\_has\_more 函数
-----------------------
2018-12-21 11:39:05 +08:00
* 函数功能:
2018-12-21 18:29:29 +08:00
> <p id="tokenizer_t_tokenizer_has_more"> 是否还有下一个token。
2018-12-20 17:33:31 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
bool_t tokenizer_has_more (tokenizer_t* tokenizer);
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | bool\_t | 还有下一个token返回TRUE否则返回FALSE。 |
| tokenizer | tokenizer\_t* | tokenizer对象。 |
2018-12-21 18:29:29 +08:00
#### tokenizer\_init 函数
-----------------------
2018-12-21 11:39:05 +08:00
* 函数功能:
2018-12-21 18:29:29 +08:00
> <p id="tokenizer_t_tokenizer_init"> 初始化tokenizer对象。
2018-12-20 17:33:31 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
tokenizer_t* tokenizer_init (tokenizer_t* tokenizer, char* str, uint32_t size, char* separtor);
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | tokenizer\_t* | tokenizer对象本身。 |
| tokenizer | tokenizer\_t* | tokenizer对象。 |
| str | char* | 要解析的字符串。 |
| size | uint32\_t | 字符串长度。 |
| separtor | char* | 分隔字符。 |
2018-12-21 18:29:29 +08:00
#### tokenizer\_next 函数
-----------------------
2018-12-21 11:39:05 +08:00
* 函数功能:
2018-12-21 18:29:29 +08:00
> <p id="tokenizer_t_tokenizer_next"> 获取下一个token。
2018-12-20 17:33:31 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
char* tokenizer_next (tokenizer_t* tokenizer);
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | char* | 成功返回token失败返回NULL。 |
| tokenizer | tokenizer\_t* | tokenizer对象。 |
2018-12-21 18:29:29 +08:00
#### tokenizer\_next\_float 函数
-----------------------
2018-12-21 11:39:05 +08:00
* 函数功能:
2018-12-21 18:29:29 +08:00
> <p id="tokenizer_t_tokenizer_next_float"> 获取下一个token并转换成float。
2018-12-20 17:33:31 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
char* tokenizer_next_float (tokenizer_t* tokenizer, float defval);
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | char* | 成功返回token的float值失败返回缺省值。 |
| tokenizer | tokenizer\_t* | tokenizer对象。 |
| defval | float | 缺省值。 |
2018-12-21 18:29:29 +08:00
#### tokenizer\_next\_int 函数
-----------------------
2018-12-21 11:39:05 +08:00
* 函数功能:
2018-12-21 18:29:29 +08:00
> <p id="tokenizer_t_tokenizer_next_int"> 获取下一个token并转换成int。
2018-12-20 17:33:31 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
char* tokenizer_next_int (tokenizer_t* tokenizer, int defval);
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | char* | 成功返回token的int值失败返回缺省值。 |
| tokenizer | tokenizer\_t* | tokenizer对象。 |
| defval | int | 缺省值。 |
#### cursor 属性
-----------------------
2018-12-21 11:39:05 +08:00
> <p id="tokenizer_t_cursor"> 当前位置。
2018-12-20 17:33:31 +08:00
* 类型uint32\_t
| 特性 | 是否支持 |
| -------- | ----- |
| 可直接读取 | 是 |
| 可直接修改 | 否 |
#### separtor 属性
-----------------------
2018-12-21 11:39:05 +08:00
> <p id="tokenizer_t_separtor"> 字符串。
2018-12-20 17:33:31 +08:00
* 类型char*
| 特性 | 是否支持 |
| -------- | ----- |
| 可直接读取 | 是 |
| 可直接修改 | 否 |
#### size 属性
-----------------------
2018-12-21 11:39:05 +08:00
> <p id="tokenizer_t_size"> 字符串的长度。
2018-12-20 17:33:31 +08:00
* 类型uint32\_t
| 特性 | 是否支持 |
| -------- | ----- |
| 可直接读取 | 是 |
| 可直接修改 | 否 |
#### str 属性
-----------------------
2018-12-21 11:39:05 +08:00
> <p id="tokenizer_t_str"> 字符串。
2018-12-20 17:33:31 +08:00
* 类型char*
| 特性 | 是否支持 |
| -------- | ----- |
| 可直接读取 | 是 |
| 可直接修改 | 否 |