我有一个整数,说002345,我希望将其拆分为Hours = 00 Mins = 23 Sec = 45。我尝试使用“ /”和“%”公式方法,但由于前两项为00,因此无法解决还有其他方法。你们中的任何人都可以向我提供代码。
谢谢
最佳答案
由于您不要求使用“ /”和“%”的常规方法。
然后,您可以将整数时间转换为字符串,并去除小时,分钟,秒。
但是将时间存储为简单整数不是一个好主意,因为您会错过数小时的前导零。因此,最好为此使用char数组。
#include <stdio.h>
#include <string.h>
int main()
{
char hour[3]={0};
char min[3]={0};
char sec[3]={0};
int time = 2345;
char timeStr[10] = {0};
sprintf(timeStr, "%06d", time);
memcpy(hour, timeStr, 2);
memcpy(min, timeStr+2,2);
memcpy(sec, timeStr+4,2);
printf("%s:%s:%s",hour,min,sec);
}
我推荐的方式是:-
#include <stdio.h>
#include <string.h>
int main()
{
char hour[3]={0};
char min[3]={0};
char sec[3]={0};
char timeStr[] = "002345";
memcpy(hour, timeStr, 2);
memcpy(min, timeStr+2,2);
memcpy(sec, timeStr+4,2);
printf("%s:%s:%s",hour,min,sec);
}
然后使用atoi()将小时,分钟,秒转换为整数;