| 函数逻辑报告 | 
| 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 插件可实现:逻辑报告 代码生成和批量转换代码 |