Name
sqlite3_snprintf() — Format a string
Definition
char* sqlite3_snprintf( int bytes, char* buf, const char* format, ... );
-
bytes The number of bytes available in the output buffer.
-
buf A pre-allocated buffer to receive the formatted string.
-
format The format string used to build the output string. This is similar to the standard
printf()style formatted string, but it supports a few extra formatting flags.- Additional parameters
Message formatting parameters.
- Returns
A pointer to the formatted string buffer.
Description
This function formats and builds a UTF-8 string in the provided
buffer. It is designed to mimic the standard snprintf() function. Assuming
the provided buffer is one byte or larger, the string will
always be null-terminated.
Note that the first two parameters of sqlite3_snprintf() are reversed from the
standard snprintf(). Also,
snprintf() returns the
number of characters in the output string, while sqlite3_snprintf() returns a
pointer to the buffer passed in by the application.
In addition to the standard %s, %c,
%d, %i, %o, %u,
%x, %X, %f, %e,
%E, %g, %G, and %%
formatting flags, all SQLite printf() style functions also support the
%q, %Q, %z, %w, and
%p flags.
The %q flag is similar to
%s, only it will
sanitize the string for use as an SQL string literal. Mostly,
this consists of doubling all the single quote characters
(') to form a proper
SQL escape (''). Thus,
%q will take the input
string O'Reilly and output
O''Reilly. The formatted string should contain enclosing ...