c++ - 为字符分配数字 C++

标签 c++

我需要一种在 C++ 中将数字分配给字母的方法,例如,'$' 将代表数字 1。我显然需要能够从字符中获取数字,例如一个功能,例如getNumFromChar('$') 将返回 1,而 getNumFromChar('#') 将返回 2。在 C++ 中是否有简单快捷的方法来执行此操作?

最佳答案

最快的方法是编写一个包含 256 个条目的查找表,其中包含字符的 ASCII 索引中的映射值。这类似于 isdigittolower 的工作方式,例如:

int getNumFromChar(char c)
{
    static const int table[256] = {/* table entries */};

    return table[c & 0xff];
}

关于c++ - 为字符分配数字 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37427404/

相关文章:

C++ vector 语法错误

c++ - 为什么将超出范围的值分配给有符号类型的对象的结果在 C++ 中未定义?

C++如何对齐文件的每一行?

c++ - C++ 中的减法 double

c++ - 找出两个数字桶之间的最短距离

c++ - 在哪里寻找(对于 c++ 初学者)为 Windows Vista x64 Ultimate 创建挂起进程程序?

c++ - 尝试在 mac osx 上编译 tcpxtract 会给出未找到的 i386 符号

c++ - 在成员构造函数之后调用基类构造函数

c++ - 使用 printf() 改变多线程结果?

c++ - visual studio 2010 错误/堆损坏