gpt4 book ai didi

将存储在数组中的 char 类型转换为 int 变量

转载 作者:太空宇宙 更新时间:2023-11-03 23:24:04 26 4
gpt4 key购买 nike

我目前正在做一个项目,我需要做一些非常具体的事情。我需要使用 char 数组将值存储在各种类型的 database 中,但我还需要将乘法的值存储在它的最后一个槽中,但我不知道如何执行此操作。转换 char 变量并将其相乘似乎将垃圾存储在 int 上,因为我得到的值远远超出了它应该的范围。我尝试的另一个建议是使用 memset() 手动设置该值,但我不太清楚该怎么做。

这是我的代码

int form_fill(int room_ID, char database[rooms * floors * req_data][20]) {
printf ("Enter the first name\n");
fflush(stdin);
gets (database[room_ID]);
printf ("Enter the second name\n");
gets (database[room_ID + 1]);
printf ("Enter the third name\n");
gets (database[room_ID + 2]);
printf ("How many days will the guest stay?\n");
}

理想情况下,用户输入的天数将作为 char 存储在 database[room_ID + 3] 中,并乘以另一个先前声明为 global 的变量,并存储结果,作为 char,在 database[room_ID + 4] 中。有人对此有任何解决方案吗?

附言。我知道使用 gets 是不安全的,但那是老师要求的,所以我必须这样做。

最佳答案

您的问题陈述不是很清楚,但截至目前,实现您想要的目标的通用方法是

  1. 从用户那里获取“客人将停留多少天?”的输入使用 fgets()
  2. 使用 strtol()string 输入转换为 int并存储在临时 int 变量中。
  3. 将该值与您的全局 char 相乘。
  4. 打印结果到数据库[room_ID+4] 使用snprintf() .

关于将存储在数组中的 char 类型转换为 int 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31555084/

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