Всем доброго времени суток. Написать программу, которая реализует функцию с неограниченным
количеством параметров, организовывающую форматированный вывод на
экран. Задание выполнил, а вот как бы сделать чтоб если спецификаторов указанно больше а значений меньше то чтоб не выводило ошибку о том что память не может быть а прочитана, а чтоб выводило сам спецификатор. Вот пример
// myPrintf("Simple example: {i} + {i} = {i} {i} {i}", 2, 3, 2 + 3);
// Simple example: 2 + 3 = 5
А вот сама функция
void myPrintf(char *formatString, ...)
{
va_list parametrs;
int count = strlen(formatString);
va_start(parametrs, formatString);
do
{
while(*formatString!='{' && *formatString!='}' && *formatString!='\0')
cout<< *(formatString++);
++formatString;
switch (*formatString)
{
case 'i':
cout << va_arg(parametrs, int);
formatString++;
break;
case 'd':
cout << va_arg(parametrs, double);
formatString++;
break;
case 's':
cout << va_arg(parametrs, char*);
formatString++;
break;
}
}while(*formatString != 0);
va_end(parametrs);
}