Изучение функции sprintf в C: форматирование и хранение строк

В программировании на C функция sprintfиспользуется для форматирования и сохранения ряда символов и значений в строке. Он позволяет создавать форматированные строки, аналогичные тому, как printfвыводит на консоль. Вот несколько методов, связанных с sprintfв C:

Метод 1: базовое использование

#include <stdio.h>
int main() {
   char str[50];
   int num = 10;
   float f = 3.14;
   sprintf(str, "Number: %d, Float: %.2f", num, f);
   printf("%s", str);
   return 0;
}

Выход:

Number: 10, Float: 3.14

Метод 2: сохранение в файле

#include <stdio.h>
int main() {
   FILE *file = fopen("output.txt", "w");
   int num = 10;
   float f = 3.14;
   if (file != NULL) {
      fprintf(file, "Number: %d, Float: %.2f", num, f);
      fclose(file);
   }
   return 0;
}

Этот метод сохраняет отформатированную строку в файле с именем «output.txt» вместо того, чтобы выводить ее на консоль.

Метод 3. Динамическое распределение памяти

#include <stdio.h>
#include <stdlib.h>
int main() {
   int num = 10;
   float f = 3.14;
   char *str;
   str = (char *)malloc(50 * sizeof(char));
   if (str != NULL) {
      sprintf(str, "Number: %d, Float: %.2f", num, f);
      printf("%s", str);
      free(str);
   }
   return 0;
}

Этот метод демонстрирует использование динамического выделения памяти для создания строки и хранения форматированного вывода.

Метод 4: объединение строк

#include <stdio.h>
#include <string.h>
int main() {
   char str[50] = "Hello";
   int num = 10;
   float f = 3.14;
   sprintf(str + strlen(str), ", Number: %d, Float: %.2f", num, f);
   printf("%s", str);
   return 0;
}

Здесь sprintfиспользуется для объединения дополнительного форматированного содержимого с существующей строкой.