C / stdio.h / vsprintf
clearerr, fclose, feof, ferror, fflush, fgetc, fgetpos, fgets, fopen, fprintf, fputc, fputs, fread, freopen, fscanf, fseek, fsetpos, ftell, fwrite, getc, getcha, gets, perror, printf, putc, putchar, puts, remove, rename, rewind, scanf, setbuf, setvbuf, sprintf, sscanf, tmpfile, tmpnam, ungetc, vfprintf, vprintf, » vsprintf,
Funcion: vsprintf()
Sintaxis:
Descripcion: Esta función es equivalente a sprintf, con la lista de argumentos de variables reemplazado por argumentos, que habrá sido inicializado por la macro va_start (y posiblemente por llamadas posteriores a va_arg. La función vsprintf no invoca la macro va_end. Si se copian objetos que se superponen, entonces el comportamiento no está definido.
Ejemplo:
Sintaxis:
int vsprintf(char *cadena, const char *formato, va_list argumentos);
Descripcion: Esta función es equivalente a sprintf, con la lista de argumentos de variables reemplazado por argumentos, que habrá sido inicializado por la macro va_start (y posiblemente por llamadas posteriores a va_arg. La función vsprintf no invoca la macro va_end. Si se copian objetos que se superponen, entonces el comportamiento no está definido.
Ejemplo:
#include <stdio.h> #include <stdarg.h> int mi_vsprintf( char *cadena, const char *formato, ... ) { va_list listaPtr; int resultado=0; va_start( listaPtr, formato ); resultado = vsprintf( cadena, formato, listaPtr ); va_end( listaPtr ); return resultado; } int main() { char nombre[20], mensaje[81]; unsigned int edad=0; printf( "Escriba su nombre: " ); scanf( "%s", nombre ); printf( "Escriba su edad: " ); scanf( "%u", &edad ); mi_vsprintf( mensaje, "\nHola %s. Tienes %d anyos.\n", nombre, edad ); puts( mensaje ); return 0; }