Так что я должен сделать что-то вроде таймера, и это должна быть строка, и она должна иметь 0 раньше, если она меньше десяти, например, 00,01,02 ... 09,10,11, так что все цифры 2 цифры. Но я столкнулся с проблемой, и я не могу решить ее. И мне нужно, чтобы он был как-то так, без ctime или вообще не превращать его в строку.
Я пробовал пару раз также с инструментами декомпилятора, но я вижу, что главная проблема в позициях 4 и 7. Я думаю, что может быть что-то не так с компилятором блоков кода, но я не уверен .
#include <stdio.h>
int main(){
char tostring[9]={};
int timer=6588;
int hours=0;
int minutes=0;
int seconds=0;
hours=timer/3600;
minutes=(timer%3600)/60;
seconds=(timer%3600)%60;
//printf("%i:%i:%i",hours,minutes,seconds);
if(hours<10){
tostring[0]=(char)0;
tostring[1]=(char)hours;
}else{
tostring[0]=(char)(hours/10);
tostring[1]=(char)(hours%10);
}
tostring[2]=':';
if(minutes<10){
tostring[3]=(char)0;
tostring[4]=(char)minutes;
}else{
tostring[3]=(char)(minutes/10);
tostring[4]=(char)(minutes%10);
}
tostring[5]=':';
if(seconds<10){
tostring[6]=(char)0;
tostring[7]=(char)seconds;
}else{
tostring[6]=(char)(seconds/10);
tostring[7]=(char)(seconds%10);
}
tostring[8]='\0';
printf("%s",tostring);
return 0;
}
Я ожидаю, что результат будет 01:49:48, но ничего не выходит, только пусто. Каково было бы решение этой проблемы.