Para poder hacer eso se usa el archivo header llamado stdarg.h que trae algunas declaraciones y definiciones para este usar ante esta situación.
La idea fue tomada de un código público por lo tanto no es mi código.. pero si me pareció buena la idea de dar un ejemplo así para tenerlo en cuenta.
Dejo el proyectín para descargarlo
Proyecto en MSVC+++ 6.0
Código:
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// UTN FRGP TSP
// 2012
// BS
// Etalking.Com.Ar
//
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#include <windows.h>
#include <stdio.h>
#include "stdarg.h" // defines ANSI-style macros for variable argument functions
void PrintString(const char* fmt, ... )
{
va_list va_alist;
char buf[256];
va_start (va_alist, fmt);
_vsnprintf (buf, sizeof(buf), fmt, va_alist);
va_end (va_alist);
printf(buf);
}
int main()
{
char* cadena1 = "\nSola.. Vino a.. mi Ficcion..\0";
char* cadena2 = "\nSin Dudar.. Acompaniarme..\0";
char* cadena_a = "\nCerca.. de su.. Atraccion..\0";
char* cadena_b = "\nTropiezo.. con mis Manos..\0";
int a = 2012;
PrintString("%s%s\n", cadena1,cadena2);
PrintString("\n");
PrintString("%s%s\n", cadena_a,cadena_b);
PrintString("\n");
PrintString("%d\n", a);
PrintString("\n");
PrintString("Presione ENTER para Salir");
while(getchar() != '\n');
return 0;
}
S2