У меня есть программа C, которая печатает метку времени в виде строки, используя следующую строку:Сохранение системных вызовов в программировании C
sprintf (scratch_buffer, "%s\0", dfr_time_date_strg);
Эта метка всегда напечатанный в формате UTC, но я хотел бы добавить строку звонков date +%z
и date +%Z
.
двух значений часовых поясов можно назвать такие:
system("date +%z");
system("date +%Z");
Но как я могу назначить их char
строк, называемых tz_offset
и tz_name
так, чтобы конечная метка печати линия:
sprintf (scratch_buffer, "%s %s (%s)\0", dfr_time_date_strg, tz_offset, tz_name);
Вы хотите использовать вывод 'system (" date +% z ");' и другую команду? –
Да, пожалуйста. Например, '+ 0100' и' BST'. –
@DustinCook Прежде всего, это не «системные вызовы» (это нечто совершенно отличное), во-вторых, google 'popen()'. ** Однако, если вам нужно только форматировать текущую дату, ** тогда вам будет намного лучше использовать 'strftime()'. –