⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pcsetdbg.cxx

📁 使用stl技术,(还没看,是听说的)
💻 CXX
字号:
/*
 *
 *  C++ Portable Types Library (PTypes)
 *  Version 1.8.3  Released 25-Aug-2003
 *
 *  Copyright (c) 2001, 2002, 2003 Hovik Melikyan
 *
 *  http://www.melikyan.com/ptypes/
 *  http://ptypes.sourceforge.net/
 *
 */

#include "ptypes.h"


PTYPES_BEGIN


static char hexchar(uchar c) 
{
    if (c < 10)
        return char(c + '0');
    else
        return char(c - 10 + 'a');
}


inline bool isprintable(uchar c) 
{
    return ((c >= ' ') && (c < 127));
}


static string showmember(uchar c) 
{
    if ((c == '-') || (c == '~'))
        return string('~') + string(c);
    else if (isprintable(c))
        return c;
    else 
    {
        string ret = "~  ";
        ret[1] = hexchar(uchar(c >> 4));
        ret[2] = hexchar(uchar(c & 0x0f));
        return ret;
    }
}


string asstring(const cset& s)
{
    string ret;
    int l = -1, r = -1;
    for(int i = 0; i <= _csetbits; i++) 
    {
        if (i < _csetbits && uchar(i) & s) 
        {
            if (l == -1)
                l = i;
            else
                r = i;
        }
        else if (l != -1) 
        {
            concat(ret, showmember(uchar(l)));
            if (r != -1) {
                if (r > l + 1) 
                    concat(ret, '-');
                concat(ret, showmember(uchar(r)));
            }
            l = -1;
            r = -1;
        }
    }
    return ret;
}


PTYPES_END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -