函数逻辑报告 |
Source Code:lib\vsprintf.c |
Create Date:2022-07-27 07:09:50 |
| Last Modify:2022-05-21 09:47:42 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:vsscanf - Unformat a buffer into a list of arguments*@buf: input buffer*@fmt: format of buffer*@args: arguments
函数原型:int vsscanf(const char *buf, const char *fmt, va_list args)
返回类型:int
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| const char * | buf | |
| const char * | fmt | |
| va_list | args |
| 3193 | num等于0 |
| 3208 | 如果Note: isspace() must return false for %NUL-terminator ( * fmt)则 |
| 3222 | fmt先自加 |
| 3227 | 如果fmt恒等于'*'则 |
| 3230 | 当非Note: isspace() must return false for %NUL-terminator ( * fmt)且fmt不等于'%'且fmt循环 |
| 3237 | str自加 |
| 3238 | 继续下一循环 |
| 3242 | field_width等于负1 |
| 3245 | 如果field_width小于等于0则退出 |
| 3250 | qualifier等于负1 |
| 3251 | 如果fmt恒等于'h'或Fast implementation of tolower() for internal usage. Do not use in your* code.恒等于'l'或fmt恒等于'z'则 |
| 3254 | 如果此条件成立可能性小(为编译器优化)(qualifier == * fmt)则 |
| 3268 | 如果fmt恒等于'n'则 |
| 3278 | base等于10 |
| 3279 | is_sign = false |
| 3282 | 当:++ == 'c' |
| 3292 | 继续下一循环 |
| 3293 | 当:++ == 's' |
| 3307 | 继续下一循环 |
| 3323 | 当:++ == '[' |
| 3326 | DECLARE_BITMAP(set, 256) = {0} |
| 3327 | len等于0 |
| 3331 | 如果field_width恒等于负1则返回:num |
| 3343 | fmt先自加 |
| 3345 | 如果negate则 |
| 3346 | bitmap_complement(set, set, 256) |
| 3352 | 如果非st_bit - Determine whether a bit is set*@nr: bit number to test*@addr: Address to start counting from则返回:num |
| 3355 | 当st_bit - Determine whether a bit is set*@nr: bit number to test*@addr: Address to start counting from且field_width自减循环 |
| 3357 | s等于'\0' |
| 3358 | num先自加 |
| 3360 | 继续下一循环 |
| 3361 | 当:++ == 'o' |
| 3364 | 当:++ == 'x' |
| 3365 | 当:++ == 'X' |
| 3368 | 当:++ == 'i' |
| 3369 | base等于0 |
| 3371 | 当:++ == 'd' |
| 3372 | is_sign = true |
| 3374 | 当:++ == 'u' |
| 3375 | 退出 |
| 3376 | 当:++ == '%' |
| 3381 | 默认 |
| 3383 | 返回:num |
| 3395 | 如果非digit或base恒等于16且非isxdigit(digit)或base恒等于10且非isdigit(digit)或base恒等于8且非isdigit(digit)或digit大于'7'的值或base恒等于0且非isdigit(digit)则退出 |
| 3406 | 否则u等于如果qualifier不等于'L'则转换字符串为无符号整形否则转换字符串为无符号长整形 |
| 3411 | 如果field_width大于0且next减str大于field_width则 |
| 3412 | 如果base恒等于0则_parse_integer_fixup_radix(str, & base) |
| 3414 | 当next减str大于field_width循环 |
| 3415 | 如果is_sign则s等于div_s64 - signed 64bit divide with 32bit divisor*@dividend: signed 64bit dividend*@divisor: signed 32bit divisor |
| 3419 | next先自减 |
| 3451 | 默认 |
| 3458 | num自加 |
| 3465 | 返回:num |
| 名称 | 描述 |
|---|---|
| sscanf | sscanf - Unformat a buffer into a list of arguments*@buf: input buffer*@fmt: formatting of buffer*@...: resulting arguments |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |