Что такое функция snprintf () в C?

Функция snprintf () перенаправляет вывод стандартной функции printf () в буфер.

В C он определяется как:

Это важно чтобы отметить, что snprintf () добавляет нулевой символ в конец результирующего вывода. Этот нулевой символ также учитывается в размере строки.

Функция возвращает целое число, которое представляет собой количество символов, которое было бы записано, если бы Аргумент buff_size был достаточно большим. Следовательно, буфер считается полностью записанным, только если возвращаемое значение неотрицательно и меньше buff_size .

Этот метод полезен для предотвращения повторения форматированной строки. Можно построить строку один раз, используя printf ("% s", myBuffer) вместо использования print ("% d,% s,% f,% d", a , b, c, d) , который является излишне сложным и громоздким.

Следующий фрагмент кода демонстрирует, как использовать snprintf () функция:

 #include  int main () {char buffer [100];  int returnValue, buff_size = 38;  char name [] = "Тони";  int age = 21;  returnValue = snprintf (buffer, buff_size, «Меня зовут% s, мне% d лет», имя, возраст);  если (returnValue> 0 && returnValue  

Оцените статью
nanomode.ru
Добавить комментарий