亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? snprintf.c

?? 一個Windows下的Linux專用虛擬機
?? C
?? 第 1 頁 / 共 2 頁
字號:
    if (numbersigned)    {        if (number < 0)        {            /* Deal with negativity */            sign = '-';            number = -number;        }        else if (flags & FLAG_SIGNED)        {            sign = '+';        }        else if (flags & FLAG_SIGN_PAD)        {            sign = ' ';        }    }    /* Create number */    if (numbersigned)    {        if (number == 0)            iszero = 1;        do        {            PUSH(number % base);            number /= base;            len++;        } while (number != 0);    }    else    {        if (unumber == 0)            iszero = 1;        do        {            PUSH(unumber % base);            unumber /= base;            len++;        } while (unumber != 0);    }    /* Octal hash character (alternate form) */    if (fmt == 'o' && (flags & FLAG_HASH) && precision <= len &&        precision != 0 && !iszero )    {        precision = len + 1;    }    /* Determine width of sign, if any. */    if ( (fmt == 'x' || fmt == 'X') && (flags & FLAG_HASH) && !iszero )        addprefix = 2;    else if (sign != 0)        addprefix = 1;    /* Make up precision (zero pad on left) */    while (len < precision)    {        PUSH(0);        len++;    }    if (len + addprefix < width)    {        totallen = width;        widthpad = width - (len + addprefix);    }    else        totallen = len + addprefix;    if (*nmax <= 1)        return totallen;    /* Write sign or "0x" */    if (flags & FLAG_ZERO_PAD)    {        if (addprefix == 2) /* 0x */        {            if (*nmax > 1)            {                **pinsertion = '0';                *pinsertion += 1;                *nmax -= 1;            }            if (*nmax > 1)            {                **pinsertion = fmt;                *pinsertion += 1;                *nmax -= 1;            }        }        else if (addprefix == 1) /* sign */        {            if (*nmax > 1)            {                **pinsertion = sign;                *pinsertion += 1;                *nmax -= 1;            }        }    }    /* Width pad */    if ( !(flags & FLAG_LEFT_ALIGN) )    {        if (*nmax <= 1)            widthpad = 0;        else if ((int) *nmax + 1 < widthpad)            widthpad = *nmax - 1;        if (flags & FLAG_ZERO_PAD)            memset(*pinsertion, '0', widthpad);        else            memset(*pinsertion, ' ', widthpad);        *pinsertion += widthpad;        *nmax -= widthpad;    }    /* Write sign or "0x" */    if ( !(flags & FLAG_ZERO_PAD) )    {        if (addprefix == 2) /* 0x */        {            if (*nmax > 1)            {                **pinsertion = '0';                *pinsertion += 1;                *nmax -= 1;            }            if (*nmax > 1)            {                **pinsertion = fmt;                *pinsertion += 1;                *nmax -= 1;            }        }        else if (addprefix == 1) /* sign */        {            if (*nmax > 1)            {                **pinsertion = sign;                *pinsertion += 1;                *nmax -= 1;            }        }    }    /* Write number */    if (*nmax <= 1)        len = 0;    else if ((int) *nmax + 1 < len)        len = *nmax - 1;    for (; len > 0; len--)    {        char n = POP();        if (n <= 9)        {            **pinsertion = n + '0';            *pinsertion += 1;        }        else        {            **pinsertion = n - 10 + char10;            *pinsertion += 1;        }    }    *nmax -= len;    if (flags & FLAG_LEFT_ALIGN)    {        if (*nmax <= 1)            widthpad = 0;        else if ((int) *nmax + 1 < widthpad)            widthpad = *nmax - 1;        memset(*pinsertion, ' ', widthpad);        *pinsertion += widthpad;        *nmax -= widthpad;    }    return totallen;}/* * WARNING: Assumes 32 bit longs and 64 bit doubles */typedef union {    double D;    struct {        unsigned long W0;        unsigned long W1;    };} DBLBITS;#define EXP_MASK  0x7FF00000#define SIGN_MASK 0x80000000#define MANTISSA_MASK ~(SIGN_MASK | EXP_MASK)#define QNAN_MASK 0x00080000 /* first bit of mantissa */#ifdef SNPRINTF_FLOAT/* These functions not defined on all platforms, so * do the checks manually * WARNING: Assumes 64-bit IEEE representation *    (so it won't run on your Cray :) */#define ISNAN(x) \    ( (((DBLBITS *) &x)->W1 & EXP_MASK) == EXP_MASK \  && ((((DBLBITS *) &x)->W1 & MANTISSA_MASK) != 0 || ((DBLBITS *) &x)->W0 != 0) )#define ISQNAN(x) \    ( ISNAN(x) && (((DBLBITS *) &x)->W1 & QNAN_MASK) )#define ISSNAN(x) \    ( ISNAN(x) && !ISQNAN(x) )#define ISINF(x) \   ( (((DBLBITS *) &x)->W1 & EXP_MASK) == EXP_MASK \  && ((((DBLBITS *) &x)->W1 & MANTISSA_MASK) == 0 && ((DBLBITS *) &x)->W0 == 0) )/* Format a double-precision float into the buffer.  Parameters: *   *&pinsertion   Reference to pointer to buffer (can be reference to NULL) *   &nmax          Reference to size of buffer.  This is may be modified *   fmt            Format character (one of "eEfgG") *   flags          0 or combination of flags (see .h file for #defines) *   width          Width of double, as defined in printf *   precision      Precision of double, as defined in printf *   ap             Argument list */static int pvsnfmt_double(char **pinsertion, long *nmax, const char fmt, int flags,                int width, int precision, char prefix, va_list *ap){    char *digits;    int sign = 0;    int dec;    double value = va_arg(*ap, double);    int len;    int pad = 0;    int signwidth = 0;    int totallen;    char signchar = 0;    int leadingzeros = 0;    int printdigits; /* temporary var used in different contexts */    /* Check for special values first */    char *special = 0;    if (ISSNAN(value))        special = "NaN";    else if (ISQNAN(value))        special = "NaN";    else if ( ISINF(value) )    {        if (value < 0)            sign = 1;        special = "Inf";    }    if (special)    {        totallen = len = co_strlen(special);        /* Sign (this is silly for NaN but conforming to printf */        if (flags & (FLAG_SIGNED | FLAG_SIGN_PAD) || sign)        {            if (sign)                signchar = '-';            else if (flags & FLAG_SIGN_PAD)                signchar = ' ';            else                signchar = '+';            totallen++;        }        /* Padding */        if (totallen < width)            pad = width - totallen;        else            pad = 0;        totallen += pad ;        /* Sign now if zeropad */        if (flags & FLAG_ZERO_PAD && signchar)        {            if (*nmax > 1)            {                **pinsertion = signchar;                *pinsertion += 1;                *nmax -= 1;            }        }        /* Right align */        if ( !(flags & FLAG_LEFT_ALIGN) )        {            if (*nmax <= 1)                pad  = 0;            else if ((int) *nmax - 1 < pad )                pad  = *nmax - 1;            if (flags & FLAG_ZERO_PAD)                memset(*pinsertion, '0', pad );            else                memset(*pinsertion, ' ', pad );            *pinsertion += pad ;            *nmax -= pad ;        }        /* Sign now if not zeropad */        if (!(flags & FLAG_ZERO_PAD) && signchar)        {            if (*nmax > 1)            {                **pinsertion = signchar;                *pinsertion += 1;                *nmax -= 1;            }        }        if (*nmax <= 0)            len = 0;        else if ((int) *nmax - 1 < len)            len = *nmax - 1;        memcpy(*pinsertion, special, len);        *pinsertion += len;        *nmax -= len;        /* Left align */        if (flags & FLAG_LEFT_ALIGN)        {            if (*nmax <= 1)                pad  = 0;            else if ((int) *nmax - 1 < pad )                pad  = *nmax - 1;            memset(*pinsertion, ' ', pad );            *pinsertion += pad ;            *nmax -= pad ;        }        return totallen;    }    if (fmt == 'f')    {        if (precision == UNKNOWN_PRECISION)            precision = 6;        digits = FCVT(value, precision, &dec, &sign);        len = co_strlen(digits);        if (dec > 0)            totallen = dec;        else            totallen = 0;        /* plus 1 for decimal place */
        if (dec <= 0)            totallen += 2; /* and trailing ".0" */        else if (precision > 0 || flags & FLAG_HASH)            totallen += 1;
        /* Determine sign width (0 or 1) */        if (flags & (FLAG_SIGNED | FLAG_SIGN_PAD) || sign)        {            if (sign)                signchar = '-';            else if (flags & FLAG_SIGN_PAD)                signchar = ' ';            else                signchar = '+';            totallen++;        }        /* Determine if leading zeros required */        if (dec <= 0)        {            leadingzeros = 1 - dec; /* add one for zero before decimal point (0.) */        }        if (leadingzeros - 1 > precision)            totallen += precision;        else if (len - dec > 0)            totallen += precision;        else            totallen += leadingzeros;        /* Determine padding width */        if (totallen < width)            pad = width - totallen;        totallen += pad;        if (*nmax <= 1)            return totallen;        /* Now that the length has been calculated, print as much of it         * as possible into the buffer         */        /* Print sign now if padding with zeros */        if (flags & FLAG_ZERO_PAD && signchar != 0)        {            if (*nmax > 1)            {                **pinsertion = signchar;                *pinsertion += 1;                *nmax -= 1;            }        }        /* Print width padding if right-aligned */        if ( !(flags & FLAG_LEFT_ALIGN) )        {            if (*nmax <= 1)                pad = 0;            else if ((int) *nmax - 1 < pad)                pad = *nmax - 1;            if (flags & FLAG_ZERO_PAD)                memset(*pinsertion, '0', pad);            else                memset(*pinsertion, ' ', pad);            *pinsertion += pad;            *nmax -= pad;        }        /* Print sign now if padding was spaces */        if ( !(flags & FLAG_ZERO_PAD) && signchar != 0 )        {            **pinsertion = signchar;            *pinsertion += 1;            *nmax -= 1;        }        /* Print leading zeros */        if (leadingzeros)        {            /* Print "0.", then leadingzeros - 1 */            if (*nmax > 1)            {                **pinsertion = '0';                *pinsertion += 1;                *nmax -= 1;            }            if (precision > 0 || flags & FLAG_HASH)            {                if (*nmax > 1)                {                    **pinsertion = '.';                    *pinsertion += 1;                    *nmax -= 1;                }            }            /* WARNING not rounding here!             * i.e. printf(".3f", 0.0007) gives "0.000" not "0.001"             *             * This whole function could do with a rewrite...             */            if (leadingzeros - 1 > precision)            {                leadingzeros = precision + 1;                len = 0;            }            /* END WARNING */            precision -= leadingzeros - 1;            if (*nmax <= 1)                leadingzeros = 0;            else if ((int) *nmax /* - 1 */ < leadingzeros /* -1 */)                leadingzeros = *nmax; /* -1 */            leadingzeros--;            memset(*pinsertion, '0', leadingzeros);            *pinsertion += leadingzeros;            *nmax -= leadingzeros;        }        /* Print digits before decimal place */        if (dec > 0)        {            if (*nmax <= 1)                printdigits = 0;            else if ((int) *nmax - 1 < dec)                printdigits = *nmax - 1;            else                printdigits = dec;            memcpy(*pinsertion, digits, printdigits);            *pinsertion += printdigits;            *nmax -= printdigits;            if (precision > 0 || flags & FLAG_HASH)            {                /* Print decimal place */                if (*nmax > 1)                {                    **pinsertion = '.';                    *pinsertion += 1;                    *nmax -= 1;                }                /* Print trailing zero if no precision but hash given */                if (precision == 0 && *nmax > 1)                {                    **pinsertion = '0';                    *pinsertion += 1;                    *nmax -= 1;                }            }            /* Bypass the digits we've already printed */            len -= dec;            digits += dec;        }        /* Print digits after decimal place */        if (len > precision)            len = precision;        if (*nmax <= 1)            printdigits = 0;        else if ((int) *nmax - 1 < len)            printdigits = *nmax - 1;        else            printdigits = len;        memcpy(*pinsertion, digits, printdigits);        *pinsertion += printdigits;        *nmax -= printdigits;        /* Print left-aligned pad */        if (flags & FLAG_LEFT_ALIGN)        {            if (*nmax <= 1)                pad = 0;            else if ((int) *nmax - 1 < pad)                pad = *nmax - 1;            memset(*pinsertion, ' ', pad);            *pinsertion += pad;            *nmax -= pad;        }        return totallen;    }    return 0;}#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美日韩久久| 国产美女在线观看一区| 精品亚洲成av人在线观看| 波多野结衣中文字幕一区 | 91麻豆视频网站| 精品捆绑美女sm三区| 亚洲男人的天堂一区二区| 国产成人精品免费网站| 91精品国产入口| 夜夜嗨av一区二区三区四季av| 国产一二精品视频| 欧美成人video| 日韩专区中文字幕一区二区| 色呦呦日韩精品| 国产精品国产三级国产aⅴ原创| 麻豆视频一区二区| 欧美老年两性高潮| 一二三区精品视频| 91久久一区二区| 亚洲另类在线制服丝袜| jlzzjlzz亚洲日本少妇| 久久精品视频免费| 国产精品一区免费在线观看| 精品剧情v国产在线观看在线| 视频在线观看91| 欧美日韩成人在线一区| 亚洲国产一区二区在线播放| 91黄色免费网站| 夜夜嗨av一区二区三区网页| 一本一道久久a久久精品| 亚洲天堂免费看| 色嗨嗨av一区二区三区| 亚洲综合网站在线观看| 91福利在线免费观看| 亚洲欧美日韩系列| 欧美午夜精品电影| 日日夜夜精品视频天天综合网| 欧美美女视频在线观看| 青青草一区二区三区| 欧美第一区第二区| 国产一区二区三区不卡在线观看| 精品日韩99亚洲| 国产精品66部| 亚洲欧美一区二区三区孕妇| 在线观看日韩电影| 日本中文字幕一区二区视频 | 午夜久久久久久电影| 欧美日韩成人综合在线一区二区| 日本特黄久久久高潮| 精品免费国产二区三区| 风间由美一区二区三区在线观看| 亚洲欧美在线高清| 欧美日韩大陆一区二区| 国产一区二区调教| 中文字幕一区二区三区不卡| 色94色欧美sute亚洲线路一久 | 国产超碰在线一区| 亚洲女与黑人做爰| 日韩你懂的在线播放| 粉嫩绯色av一区二区在线观看| 综合激情成人伊人| 日韩精品专区在线| 99精品视频在线播放观看| 天堂蜜桃一区二区三区| 国产日产亚洲精品系列| 欧美亚洲综合久久| 国产成人欧美日韩在线电影| 一区二区三区加勒比av| 久久这里只有精品6| 日本韩国精品一区二区在线观看| 麻豆精品国产91久久久久久| 国产精品毛片久久久久久久| 欧美久久久久久蜜桃| 丁香亚洲综合激情啪啪综合| 午夜激情久久久| 国产精品青草久久| 欧美一区二区三区在| 91视频.com| 国产精品一区一区| 秋霞午夜av一区二区三区| 日韩美女久久久| 久久久精品中文字幕麻豆发布| 欧美日韩一区在线| av电影在线观看完整版一区二区| 麻豆成人av在线| 午夜亚洲福利老司机| 亚洲欧洲精品天堂一级| 欧美精品一区二区三区蜜臀| 欧美精品 国产精品| jizz一区二区| 成人综合在线观看| 久久激情综合网| 亚洲午夜电影在线观看| 国产精品青草综合久久久久99| 欧美大片在线观看| 日韩欧美国产1| 制服丝袜亚洲色图| 欧美亚洲高清一区| 91浏览器在线视频| 不卡的av网站| 成人视屏免费看| 国产成人精品亚洲777人妖| 国产在线国偷精品产拍免费yy| 日韩不卡一区二区三区| 亚洲国产精品久久人人爱| 一级日本不卡的影视| 亚洲人成影院在线观看| 亚洲欧美综合另类在线卡通| 欧美国产禁国产网站cc| 久久久国产精品午夜一区ai换脸| 2欧美一区二区三区在线观看视频| 欧美日韩国产另类一区| 欧美日韩免费一区二区三区| 欧美欧美欧美欧美首页| 欧美日韩国产综合一区二区三区 | www.欧美日韩| av不卡免费在线观看| 99精品国产99久久久久久白柏 | 亚洲精品国久久99热| 亚洲日本一区二区三区| 亚洲伦在线观看| 亚洲国产人成综合网站| 午夜久久久影院| 免费看日韩a级影片| 激情伊人五月天久久综合| 狠狠狠色丁香婷婷综合久久五月| 国产在线精品一区二区不卡了 | 午夜精品视频一区| 日韩电影在线观看网站| 欧美a级一区二区| 麻豆视频一区二区| 风间由美中文字幕在线看视频国产欧美 | 正在播放亚洲一区| 日韩精品一区二区三区在线观看| 亚洲精品在线一区二区| 国产精品久久久久三级| 一区二区三区在线视频观看58| 午夜久久久影院| 国产一区二区三区免费在线观看| 成人免费福利片| 717成人午夜免费福利电影| 精品国产污网站| 综合自拍亚洲综合图不卡区| 天堂午夜影视日韩欧美一区二区| 狠狠色综合日日| 99久久99久久精品国产片果冻| 欧美一a一片一级一片| 2023国产精品| 一区二区三区四区在线播放 | 日韩国产欧美在线播放| 成人免费观看av| 91麻豆精品久久久久蜜臀 | 成人av免费网站| 在线不卡的av| 国产精品黄色在线观看| 美女视频一区二区三区| 99久久免费精品| 2023国产精品视频| 亚洲午夜影视影院在线观看| 国产乱人伦偷精品视频免下载| 一本大道av伊人久久综合| 久久综合久久久久88| 亚洲一区国产视频| 成人国产电影网| 欧美精品一区二区三区蜜桃| 亚洲福利一区二区三区| 粉嫩嫩av羞羞动漫久久久| 日韩欧美电影在线| 亚洲一区二区3| caoporm超碰国产精品| 欧美大胆一级视频| 爽好久久久欧美精品| 色婷婷久久99综合精品jk白丝| 国产午夜亚洲精品午夜鲁丝片| 日韩精品成人一区二区三区| 99re在线精品| 国产精品麻豆视频| 国产综合久久久久久鬼色| 在线不卡中文字幕播放| 亚洲国产成人精品视频| 一本大道久久a久久综合婷婷| 国产农村妇女精品| 国产精品91一区二区| 精品久久人人做人人爱| 蜜臀av在线播放一区二区三区| 欧美午夜精品电影| 亚洲在线中文字幕| 欧美自拍偷拍一区| 一区二区在线看| 91精品办公室少妇高潮对白| 亚洲欧洲av一区二区三区久久| 国产成人福利片| 国产日韩三级在线| 国产精品99久久久久久似苏梦涵| 精品福利一二区| 精品影院一区二区久久久| 欧美一个色资源| 蜜桃av噜噜一区| 欧美tk丨vk视频| 国产美女av一区二区三区|