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