gpt4 book ai didi

c - 如何使用 atoi 分配 char 数组的各个元素?

转载 作者:太空狗 更新时间:2023-10-29 17:05:52 26 4
gpt4 key购买 nike

众所周知,atoi 将字符转换为数字。但是,如果您只想要数组元素之一而不是整个数组,该怎么办?

请看以下内容:

for (h = 0; h < 5; h++)
{
num[h] = atoi(temp[h]);
}

假设 num 是 int 类型的数组,temp 是 char 类型的数组。这给了我一个烦人的转换问题:

Invalid conversion from 'char' to 'const char *'

关于如何使用 atoi 将 char 数组的单个元素转换为 int 有什么建议吗?

最佳答案

如果您只想转换单个字符,则不需要使用 atoi():

if (temp[h] >= '0' && temp[h] <= '9')
{
num[h] = temp[h] - '0';
}
else
{
// handle error: character was not a digit
}

在 C 中,每个数字的值都比前一个数字的值大 1,因此这保证可以工作。

atoi() 不起作用的原因是因为它采用 const char* 作为参数,而不是 char。该指针必须指向空终止字符串。

关于c - 如何使用 atoi 分配 char 数组的各个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3251401/

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