Я узнал о связанных со временем функциях в C от here. Они продемонстрировали функцию STRFTIME(), используя следующий пример:Специфика странного формата в функции strftime() в C
#include <stdio.h>
#include <time.h>
#define LEN 150
int main()
{
char buf[LEN];
time_t curtime;
struct tm *loc_time;
//Getting current time of system
curtime = time (NULL);
// Converting current time to local time
loc_time = localtime (&curtime);
// Displaying date and time in standard format
printf("%s", asctime (loc_time));
strftime (buf, LEN, "Today is %A, %b %d.\n", loc_time);
fputs (buf, stdout);
strftime (buf, LEN, "Time is %I:%M %p.\n", loc_time);
fputs (buf, stdout);
return 0;
}
Я выпученный о% м спецификаторе в Е(). Он говорит, что спецификатор преобразования% m не является C, а является расширением GNU для printf. Преобразование «% m» выводит строку, соответствующую коду ошибки в errno.
Я знаю, что% спецификатор форматирования является новым в C99. Он печатает число с плавающей запятой в шестнадцатеричной форме.
Но какова цель% b и% I в этой программе? Я не понимаю, что такое использование% b &% I? Я никогда не слышал об этом. Является ли% I таким же, как% i?
К OP: Чтение любой документации было бы достаточно. Например, страница руководства по ссылке в этом ответе. –