xrtQueryNext
XRT_API xquerynext xrtQueryNext( xstrview Query, size_t* pOffset, xquerypair* pPair );
;
返回:XRT_API xquerynext xrtQueryNext( xstrview Query, size_t* pOffset, xquerypair* pPair );
示例已编译验证
/* XRT_API xquerynext xrtQueryNext( xstrview Query, size_t* pOffset, xquerypair* pPair ); */ result = xrtQueryNext();
xrtQueryCount
统计查询项;正常空查询返回零,失败时不修改 Count。
bool xrtQueryCount(xstrview Query, size_t* pCount);
| 参数 | 说明 |
|---|---|
| xstrview Query | 查询字符串 |
| size_t* pCount | 出:数量 |
返回:统计查询项;正常空查询返回零,失败时不修改 Count。
示例已编译验证
/* 统计查询项;正常空查询返回零,失败时不修改 Count。 */ result = xrtQueryCount(Query, pCount);
xrtQueryValidate
按显式 pair/key/value 限额验证结构;Limits 为空时仅统计。
bool xrtQueryValidate( xstrview Query, const xquerylimits* pLimits, size_t* pCount );
| 参数 | 说明 |
|---|---|
| xstrview Query | 查询字符串 |
| const xquerylimits* pLimits | Lmts 参数 |
| size_t* pCount | 出:数量 |
返回:按显式 pair/key/value 限额验证结构;Limits 为空时仅统计。
示例已编译验证
/* 按显式 pair/key/value 限额验证结构;Limits 为空时仅统计。 */ result = xrtQueryValidate(Query, pLimits, pCount);
xrtQueryFind
XRT_API xquerynext xrtQueryFind( xstrview Query, xstrview Key, size_t* pOffset, xquerypair* pPair );
;
返回:XRT_API xquerynext xrtQueryFind( xstrview Query, xstrview Key, size_t* pOffset, xquerypair* pPair );
示例已编译验证
/* XRT_API xquerynext xrtQueryFind( xstrview Query, xstrview Key, size_t* pOffset, xquerypair* pPair ); */ result = xrtQueryFind();
xrtQueryRawWrite
写出不含前导问号和零结尾的已编码原始查询;空输出可查询精确长度。
bool xrtQueryRawWrite( const xquerypair* pPairs, size_t iCount, void* pOutput, size_t iCapacity, size_t* pSize );
| 参数 | 说明 |
|---|---|
| const xquerypair* pPairs | Pars 参数 |
| size_t iCount | 数量 |
| void* pOutput | 出:输出缓冲 |
| size_t iCapacity | 容量 |
| size_t* pSize | 出:大小 |
返回:写出不含前导问号和零结尾的已编码原始查询;空输出可查询精确长度。
示例已编译验证
/* 写出不含前导问号和零结尾的已编码原始查询;空输出可查询精确长度。 */ result = xrtQueryRawWrite(pPairs, iCount, pOutput, iCapacity, pSize);
xrtQueryRawBuild
分配并构建零结尾的已编码原始查询;返回值由 xrtFree 释放。
str xrtQueryRawBuild( const xquerypair* pPairs, size_t iCount, size_t* pSize );
| 参数 | 说明 |
|---|---|
| const xquerypair* pPairs | Pars 参数 |
| size_t iCount | 数量 |
| size_t* pSize | 出:大小 |
返回:分配并构建零结尾的已编码原始查询;返回值由 xrtFree 释放。
示例已编译验证
/* 分配并构建零结尾的已编码原始查询;返回值由 xrtFree 释放。 */ result = xrtQueryRawBuild(pPairs, iCount, pSize);
xrtQueryWrite
按 RFC 3986 编码键和值并写出查询;空输出可查询不含零结尾的精确长度。
bool xrtQueryWrite( const xquerypair* pPairs, size_t iCount, void* pOutput, size_t iCapacity, size_t* pSize );
| 参数 | 说明 |
|---|---|
| const xquerypair* pPairs | Pars 参数 |
| size_t iCount | 数量 |
| void* pOutput | 出:输出缓冲 |
| size_t iCapacity | 容量 |
| size_t* pSize | 出:大小 |
返回:按 RFC 3986 编码键和值并写出查询;空输出可查询不含零结尾的精确长度。
示例已编译验证
/* 按 RFC 3986 编码键和值并写出查询;空输出可查询不含零结尾的精确长度。 */ result = xrtQueryWrite(pPairs, iCount, pOutput, iCapacity, pSize);
xrtQueryBuild
按 RFC 3986 编码键和值并构建零结尾查询;返回值由 xrtFree 释放。
str xrtQueryBuild( const xquerypair* pPairs, size_t iCount, size_t* pSize );
| 参数 | 说明 |
|---|---|
| const xquerypair* pPairs | Pars 参数 |
| size_t iCount | 数量 |
| size_t* pSize | 出:大小 |
返回:按 RFC 3986 编码键和值并构建零结尾查询;返回值由 xrtFree 释放。
示例已编译验证
/* 按 RFC 3986 编码键和值并构建零结尾查询;返回值由 xrtFree 释放。 */ result = xrtQueryBuild(pPairs, iCount, pSize);