Следующий код выводит значения во временном формате, то есть, если это 1:50 и 8 секунд, это будет выход его в качестве 01:50:08Форматирование: как конвертировать 1 в «01», от 2 до «02», от 3 до «03» и т. Д.
cout << "time remaining: %02d::%02d::%02" << hr << mins << secs;
Но что я хочу сделать, это (а) преобразовать этот Интс на символ/строка (б), а затем добавить один и тот же формат время для его соответствующего значения символа/строки.
Я уже достиг (а), я просто хочу достичь (б).
например.
char currenthour[10] = { 0 }, currentmins[10] = { 0 }, currentsecs[10] = { 0 };
itoa(hr, currenthour, 10);
itoa(mins, currentmins, 10);
itoa(secs, currentsecs, 10);
Теперь, если я выход 'currenthour', 'currentmins' и 'currentsecs', он будет выдавать тот же самый пример, как раз, 1: 50: 8, а не 1:50:08.
Идеи?
Ваше первое заявление cout работает? его нет здесь: http://coliru.stacked-crooked.com/a/47f11bcdd5421c21 – NathanOliver
было бы проще, если вы сначала преобразуете значения в time_t? – user3528438
Я предположил, что использование% 02 было стандартной практикой c/C++. Я ошибаюсь? Я использую CryEngine, и этот оператор работает там, но вместо cout CryEngine имеет другую функцию.Для рефери это работает в CryEngine: CryLog («оставшееся время:% 02d ::% 02d ::% 02», ч, мин, сек); – Daqs