Sprintf
Jump to navigation
Jump to search
Syntax
int sprintf ( char * str, const char * format, ... );
Description
- Composes a string with the same text that would be printed if format was used on printf, but instead of being printed, the content is stored as a C string in the buffer pointed by str.
- The size of the buffer should be large enough to contain the entire resulting string (see snprintf for a safer version).
- A terminating null character is automatically appended after the content.
- After the format parameter, the function expects at least as many additional arguments as needed for format.
Parameters
- str
- Pointer to a buffer where the resulting C-string is stored.
- The buffer should be large enough to contain the resulting string.
- format
- C string that contains a format string that follows the same specifications as format in printf (see printf for details).
- ... (additional arguments)
- Depending on the format string, the function may expect a sequence of additional arguments, each containing a value to be used to replace a format specifier in the format string (or a pointer to a storage location, for n).
- There should be at least as many of these arguments as the number of values specified in the format specifiers. Additional arguments are ignored by the function.
Return Value
- On success, the total number of characters written is returned. This count does not include the additional null-character automatically appended at the end of the string.
- On failure, a negative number is returned.
Example
Source | Output |
---|---|
#include <stdio.h>
int main(int argc, char *argv[])
{
char string[100];
char *colors[] = {"blue", "green", "yellow", "purple"};
int len = sizeof(colors) / sizeof(colors[0]);
int i = 0;
for (i=0; i<len; i++) {
sprintf(string, "My favorite color is '%s'.\n", colors[i]);
printf(string);
}
return 0;
}
|
My favorite color is 'blue'. My favorite color is 'green'. My favorite color is 'yellow'. My favorite color is 'purple'. |