gpt4 book ai didi

C++ 将字符串字母转换/转换为整数值 (ASCII)

转载 作者:搜寻专家 更新时间:2023-10-30 23:59:50 26 4
gpt4 key购买 nike

我目前正在做一个项目,我需要创建两个将用于包含字符串的数据结构。其中之一必须是链表的一种形式,我被建议将单词分成单独的列表,用于字母表中的每个字母。我需要考虑效率,所以我有一个大小为 26 的 Head 指针数组,我想将给定单词的第一个字符转换为整数,以便我可以将其放入下标,例如:

//a string called s is passed as a parameter to the function
int i = /*some magic happens here*/ s.substr(0, 1);
currentPointer = heads[i]; //then I start iterating through the list

我一直在四处搜索,我似乎只找到了如何将字符串中的数字字符转换为整数,而不是字母字符,我想知道我到底如何才能在不求助于一组巨大而丑陋的 if 语句

最佳答案

当您将 i 设置为第一个字符的值时,您将获得 ASCII 值。所以我不在你的 0-25 范围内:见 man ascii您可以通过减去第一个字母 ascii 字母来减少它。 (小心装箱)

 std::string   s("zoro");
int i = s[0];

std::cout << "Ascii value : " << i << " Reduced : " << i - 'a' << std::endl;

这产生了 ASCII 值 'z' = 112 和 25 作为减少的值,正如预期的那样。

关于C++ 将字符串字母转换/转换为整数值 (ASCII),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15030245/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com