Тип Приведения времени к String в C - PullRequest
0 голосов
/ 12 февраля 2019

Как я могу набрать приведенный ниже код и присвоить его переменной?Мне нужно, чтобы строка отображала, как именно отображается printf.

printf( "\nElapsed time: %ld.%06d seconds\n", start.tv_sec,
                      start.tv_usec)

char test[50] = printf( "\nElapsed time: %ld.%06d seconds\n", start.tv_sec,
                      start.tv_usec)  

вывод printf: истекшее время: 0,000668 секунд

как преобразовать start.tv_sec встрока в C?

1 Ответ

0 голосов
/ 12 февраля 2019

printf - это особый случай fprintf, который печатает форматированный вывод в файл или поток.Для печати форматированного вывода в строку необходимо семейство функций sprintf.snprintf безопаснее простого старого sprintf, поскольку, если он указан с правильной длиной буфера записи, он не будет переполнен.

char buffer[50];
snprintf(buffer, 50, "\nElapsed time: %ld.%06d seconds\n", start.tv_sec,  start.tv_usec);

Если вы в Windows, заголовок<strsafe.h> содержит более безопасные альтернативы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...