Printing Formatted Strings with sprintf in C programming

Printing Formatted Strings with <code>sprintf</code> in C

Printing Formatted Strings with sprintf in C

The sprintf function in C is used to format and store a string in a character array. It is similar to printf, but instead of printing the formatted string to the standard output, it stores the formatted string in a buffer.

Syntax

The syntax for sprintf is as follows:

int sprintf(char *str, const char *format, ...);

Where:

  • str is a pointer to the character array where the formatted string will be stored.
  • format is the format string that specifies how subsequent arguments are formatted.
  • ... represents the additional arguments that are formatted according to the format string.

Example Code

#include <stdio.h>

int main() {
    char buffer[100];
    int age = 30;
    double height = 1.75;

    sprintf(buffer, "Age: %d years\nHeight: %.2f meters", age, height);

    printf("Formatted String:\n%s\n", buffer);

    return 0;
}

In this example:

  • char buffer[100]; declares a character array to store the formatted string.
  • int age = 30; and double height = 1.75; are variables to be included in the formatted string.
  • sprintf(buffer, "Age: %d years\nHeight: %.2f meters", age, height); formats the string and stores it in buffer.
  • printf("Formatted String:\n%s\n", buffer); prints the contents of buffer to the standard output.

Key Points

  • Buffer Size: Ensure the buffer size is sufficient to hold the formatted string and the null terminator.
  • Return Value: sprintf returns the number of characters written to the buffer, excluding the null terminator.
  • Formatting: Use format specifiers to control how different types of data are represented in the formatted string.
Note: Unlike printf, sprintf does not output to the console but rather to a string buffer, making it useful for preparing strings for later use.

Comments

Popular Posts