char *IntCat(char *dest, long long a2, bool a3)
{
    char v5[128]; // [sp+8h] [bp-80h]@3

    if(a3)
        strcat(dest, " ");

    strcat(dest, __ltoa(a2, v5));
    return dest;
}
char *IntCat(char *m_dest, int m_number, bool m_space)
{
    char m_temp_buf[11];

    if(m_space)
        strcat(m_dest, " ");

    __ltoa(m_number, m_temp_buf);
    strcat(m_dest, m_temp_buf);
    return m_dest;
}
char *__ftoa(float m_float, char *m_dest, int m_digits)
{
    char src[128]; // [sp+18h] [bp-80h]@2
    float v5; // [sp+A0h] [bp+8h]@8

    *m_dest = 0;

    if(m_float >= 0.0)
    {
        __ltoa((int)m_float, m_dest);
    }
    else
    {
        m_float = -m_float;
        __ltoa((int)m_float, src);

        strcpy(m_dest, "-0.");
        strcat(m_dest, src);
    }

    if(m_digits <= 0)
        return m_dest;

    if(m_digits > 8)
        m_digits = 8;

    v5 = m_float - (long double)(int)m_float; // HUH?

    while(m_digits > 0)
    {
        v5 = v5 * 10.0;
        --m_digits;
    }

    __ltoa((int)v5, src);
    strcat(m_dest, "0.");
    strcat(m_dest, src);

    return m_dest;
}
Beispiel #4
0
////////////////////
// Function name	: IntCat0
// Description	    : 정수를 문자열에 붙이기, 지정 폭만큼 0으로 채움
// Return type		: char*
//					: 결과 문자열
// Argument         : char* dest
//					: 저장할 공간
// Argument         : LONGLONG n
//					: 붙일 정수
// Argument         : int width
//					: 폭
char* IntCat0(char* dest, LONGLONG n, int width, bool bInsertSpace)
{
    char tbuf[128];
    int len = strlen(__ltoa(n, tbuf));
    int wasLen = strlen(dest);

    if (bInsertSpace)
        strcat(dest, " ");
    if (width > len)
    {
        width -= len;
        for (int i = wasLen; i < width + wasLen ; i++)
        {
            dest[i] = '0';
            dest[i + 1] = '\0';
        }
    }
    strcat(dest, tbuf);
    return dest;
}