我目前正在开展一个项目,我需要做一些非常具体的事情。我需要使用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");
}
理想情况下,用户输入的日期将作为database[room_ID + 3]
存储在char
中,并乘以前面声明为全局的另一个变量,并将结果存储为char
database[room_ID + 4]
1}}。
有人有任何解决方案吗?
PS。我知道使用获取是不安全的,但这就是老师所要求的,所以我必须这样做。
答案 0 :(得分:2)
你的问题陈述不是很清楚,但截至目前,实现你想要的一般方法是
fgets()
。strtol()
将字符串输入转换为int
并存储在临时int
变量中。char
。snprintf()
将结果打印到database[room_ID+4]
。