gpt4 book ai didi

将 char 数组转换为 atoi 失败

转载 作者:行者123 更新时间:2023-11-30 18:19:52 29 4
gpt4 key购买 nike

我检查了与此主题相关的其他帖子,并使用 atoi 函数转换字符串,但该值始终为 0。

以下是 hold4 中存储的值:

char hold4[4] = { "0", "." , "1", "5", "\0");

然后我尝试转换为 int 并得到

int hm = atoi(hold4);

hm 打印为:

hm = 0 

我预计 hm 为 0.15,因为这是 hold4 中的值。我想使用这个值进行后续的数学运算。

这是我的代码:

int x = 0;
int pixel = 0;
char hold[10];
char hold4[4];

for(x=0; x < linesCount; x++)
{
fscanf(model, "%c", &hold[x]);
if(hold[x] == '\0' || hold[x] == '\r' || hold[x] == '\n')
{
hold4[0] = hold[x-4];
hold4[1] = hold[x-3];
hold4[2] = hold[x-2];
hold4[3] = hold[x-1];
hold4[4] = '\0';
// printf("new line: break\n");
}
//printf("pixel: %c\n", hold[x]);
}

int hm = atoi(hold4);

printf("\nhold4: %d\n", hm);

我该如何完成这项工作?

最佳答案

你错过了整数的全部要点。整数是整数(1、2、3、4...)并且不能有小数点。您正在寻找的是 float/double。

Try with this: atof()

关于将 char 数组转换为 atoi 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37533728/

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