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* pLimitsLmts 参数
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* pPairsPars 参数
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* pPairsPars 参数
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* pPairsPars 参数
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* pPairsPars 参数
size_t iCount数量
size_t* pSize出:大小
返回:按 RFC 3986 编码键和值并构建零结尾查询;返回值由 xrtFree 释放。

示例已编译验证

/* 按 RFC 3986 编码键和值并构建零结尾查询;返回值由 xrtFree 释放。 */
result = xrtQueryBuild(pPairs, iCount, pSize);