Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Как перенести параметры из ф-ции printf() в самодельную - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Распечатать список учеников музыкальной школы, которые учатся играть на скрипке http://www.cyberforum.ru/cpp-beginners/thread312657.html
Распечатать список учеников музыкальной школы, которые учатся играть на скрипке. Указать также, сколько лет они занимаются музыкой и принимали ли участие в каких-либо конкурсах.
C++ Две задачи СТЕК в динамической памяти Здраствуйте уважаемые программисты помогите пожалуйста решить две задачи: 1.Дан файл содержащий текст на русском языке. Файл считывается в СТЕК в динамической памяти. Найти и вывести в другой файл... http://www.cyberforum.ru/cpp-beginners/thread312651.html
C++ 0xчисло
0x - это десятичная система исчисления? И как это называется, когда пишут int a = 0x5? Как правильно это(0x) называется? Какие выглядят другие системы исчисления?
как из вектора удалить отрицательные числа C++
Создать вектор, заполнить его случайными целыми числами в интервале от -10 до 10. Вывести в ListBox. Затем удалить из него все отрицательные элементы и вывести еще раз вектор в ListBox. moja...
C++ строки. что-то тут не так http://www.cyberforum.ru/cpp-beginners/thread312607.html
вот код //Программа удаления из строки символов '0..9' #include<iostream> // заголовыочный файл с описаниями функций ввод\вывод #include<conio.h> // заголовочный файл для создания текстового...
C++ Оператор " :: " (Двойное двоеточие) Доброй ночи! Расскажите пожалуйста что нибудь про этот оператор, и чем он отличается от других операторов подобного предназначения, то есть, в чем его особенность. Заранее благодарен.=) подробнее

Показать сообщение отдельно
Uklunok
3 / 3 / 0
Регистрация: 08.05.2010
Сообщений: 135
05.06.2011, 12:20  [ТС]
Вот сделал без макросов:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <stdio.h>
#include <stdarg.h>
 
void my_printf(const char *format, ...) 
{
        va_list args;
 
        printf ("MYPRINTF: ");
 
        va_start(args, format);
        /* обработка формата:
         * if (*format == '%') {
         *      switch(*format) {
         *     case 'd': число
         *      case 's': строка
         *      и так далее
         * }
         */
    vprintf(format, args);
        va_end(args);
}
int main() 
{
my_printf("%d.%d %s", 10, 15, "TEST");
}
Хочу спросить: Вот заголовочный файл stdarg.h от компилятора, в нём такие строки:
C
1
2
3
4
5
6
7
8
9
10
#ifndef STDARG_H
#define STDARG_H
 
typedef short va_list;
 
#define va_start(ap, v) (ap = (va_list) & v + sizeof(v))
#define va_arg(ap, t)   (*(t *) ((ap += sizeof(int)) - sizeof(int)))
#define va_end(ap)      (ap = (va_list) 0)
 
#endif                                 /* STDARG_H */
Т.е. код господина fasked будет работать стабильно?
Сейчас попробую вставить в исходник и откомпилировать.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru