Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.72/123: Рейтинг темы: голосов - 123, средняя оценка - 4.72
3 / 3 / 0
Регистрация: 08.05.2010
Сообщений: 135

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

04.06.2011, 09:22. Показов 25289. Ответов 104
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребят, подскажите как решить задачу.
Нужно перенести параметры функции printf() в самодельную ф-цию myfunk(). При условии если булева переменная Х==1. Если не равна 1, то не переносить.
Задача осложняется тем, что число параметров ф-ции может быть переменным.
Подскажите пожалуйста, буду очень признателен.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.06.2011, 09:22
Ответы с готовыми решениями:

Как перенести параметры с XP на 7
Не знаю в какой ветке разместить тему, то ли в XP, то ли в 7... Всё началось с того, что установив win7, я не смог установить драйвер на...

Передача ф-ции как параметра другой ф-ции
struct pupil{ char surname; int school; int answer; int num; } tmp, a; int usl(int i, pupil a) { }

Параметры printf
Здравствуйте дорогие форумчане ;) У меня есть вопрос по следующему куску кода. Решив по практиковаться с консольным приложением у меня...

104
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
05.06.2011, 12:50
Студворк — интернет-сервис помощи студентам
Uklunok, Хех. А это смотря какая строка. У printf довольно много спецификаторов.
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
05.06.2011, 12:54
Лучший ответ Сообщение было отмечено как решение

Решение

Держи, я нагуглил это за тебя. Для embedded software. Есть вариант с stdarg и без stdarg. Я бы на твоем месте взял бы с stdarg.
http://www.menie.org/georges/embedded/. Там есть ссылка и на реализацию, поддерживающую плавающие числа.
3
3 / 3 / 0
Регистрация: 08.05.2010
Сообщений: 135
05.06.2011, 12:58  [ТС]
Огоого сколько тут кодаО_о
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
05.06.2011, 12:59
Uklunok, вот и разбирайся
1
3 / 3 / 0
Регистрация: 08.05.2010
Сообщений: 135
05.06.2011, 13:02  [ТС]
static int print(char **out, const char *format, va_list args ) - эта ф-ция получается будет вместо vprintf()?
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
05.06.2011, 13:03
Uklunok, там vprintf вообще никаким боком... А хотя да, можно и так сказать. Только не "вместо".
1
3 / 3 / 0
Регистрация: 08.05.2010
Сообщений: 135
05.06.2011, 13:05  [ТС]
а если я подключаю заголовок #include <stdio.h>
то билдер ругается на эту строку:
extern int putchar(int c);
[C++ Error] Unit1.c(6): E2040 Declaration terminated incorrectly

Добавлено через 56 секунд
И про код господина fasked можно забыть чтоли? но он такой хороший
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
05.06.2011, 13:09
Uklunok, если у тебя нету vprintf - то да, можно забыть.
1
3 / 3 / 0
Регистрация: 08.05.2010
Сообщений: 135
05.06.2011, 13:13  [ТС]
Ну здесь же всеровно сообщения выводятся через printf()....
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
05.06.2011, 13:14
Цитата Сообщение от Uklunok Посмотреть сообщение
а если я подключаю заголовок #include <stdio.h>
то билдер ругается на эту строку:
extern int putchar(int c);
А ты его не подключай.

Uklunok, там функция printf - своя, а не стандартная.
1
3 / 3 / 0
Регистрация: 08.05.2010
Сообщений: 135
05.06.2011, 13:16  [ТС]
ААААА, всё понял, поменял название ф-ции на printf1(), и всеровно сообщения выводятся, нормально, значит можно полностью этот код и вставить.
Не подскажите в билдере ф-цию чтобы консоль не закрывалась, типа getch(), хочу глянуть достоверные данные выводятся...
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
05.06.2011, 13:17
system("pause"); из stdlib.h
1
3 / 3 / 0
Регистрация: 08.05.2010
Сообщений: 135
05.06.2011, 13:30  [ТС]
Nameless One, Спасибо большое. Чтобы я без тебя делал. Выручил очень.
Сейчас попытаюсь вставить код в проект для МК

Добавлено через 8 минут
А как быть если #include "stdio.h" всё-таки нужен?
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
05.06.2011, 13:32
Uklunok, тогда нужно сделать так, чтобы имена объявляемых тобой функций не конфликтовали с именами функций из stdio.h
0
3 / 3 / 0
Регистрация: 08.05.2010
Сообщений: 135
05.06.2011, 13:33  [ТС]
Просто эта ф-ция
stdioAttach(hUart); без не её похоже нельзя
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
05.06.2011, 13:35
Uklunok, какой у нее прототип?
0
3 / 3 / 0
Регистрация: 08.05.2010
Сообщений: 135
05.06.2011, 13:48  [ТС]
Ок, получилось, щас буду пробовать

Добавлено через 1 минуту
Цитата Сообщение от Nameless One Посмотреть сообщение
Uklunok, какой у нее прототип?
Если интересно, то вот:

Syntax
int stdioAttach(VOS_HANDLE h)

Description
Attaches an I/O interface handle stdio streams, stdin, stdout and stderr. All three streams are attached to the same driver.
Cannot be used with a handle to the FAT file system driver or any driver that requires a structure to be passed in it's read() or write() handlers.

Parameters
h
Handle for stream operations.

Return Value
Always returns zero.

Добавлено через 7 минут
Плохи дела, компилятор виснет
Vinc.exe failed with return code 3221225477
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
05.06.2011, 13:50
если тебе нужна из stdio.h только эта функция, то напиши "extern int stdioAttach(VOS_HANDLE h);" и не подключай stdio.h

Добавлено через 28 секунд
Uklunok, а ошибок он никаких не пишет?
0
3 / 3 / 0
Регистрация: 08.05.2010
Сообщений: 135
05.06.2011, 13:54  [ТС]
ругается на эту строку:
C
1
extern int my_putchar(int c);
[VinC.exe] : src\Runtime.c line 45: (error) C1404 too many types in declaration
типа двумя типами инициализирована ф-ция

Добавлено через 2 минуты
убрал int вроде скомпилил без ошибок, ща остальные ф-ции добавлю
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
05.06.2011, 13:56
Uklunok, попробуй убрать extern, а int оставь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.06.2011, 13:56
Помогаю со студенческими работами здесь

Динамические параметры printf()
Есть код printf(&quot;%5s &lt;-- %14s\n&quot;, buffer0.c_str(), &quot;n/a&quot;); Что делать если я не знаю на этапе компиляции числа 5 и 14? Для...

Форматы и параметры printf/scanf
Задали вопрос что если в выводе : 1) форматов&gt;переменных 2)переменных&gt;форматов Я делал программки и смотрел что получается,но не...

Как припаять PLS на самодельную плату
Возник вопрос: как припаять PLS разъём на самодельную плату? Примерно как здесь ...

Не могу понять как исправить ошибку Warning: printf() [function.printf]: Too few arguments in Z:\home\ksards.ru\www\id\1.php on line 76
Помогите связать бд с сайтом я новичок в этом вот код php &lt;?php do { printf(&quot;&lt;div class='blog'&gt;&lt;a...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
Модель здравосохранения 17. Планы на выгорание
anaschu 23.05.2026
Вот конкретная схема реализации: В классе Работник добавить: накопленнаяУсталость — растёт каждый час работы, снижается в перерывы и болезни коэффициентПрезентеизма — снижает продуктивность. . .
Изменение цветов в палитре gif файла aka фавикона
russiannick 23.05.2026
Изменение цветов в палитре gif файла, юзаемого как фавиконка в составе html-файла, помещенная в base64, средствами нативного Java Script, навеянное сном в майский день. Для работы необходим браузер,. . .
Модель здравосохранения 16. Слишком хорошие и здоровые сотрудники уходят, недовольные зарплатой
anaschu 23.05.2026
Отладка увольнений и настройка производительности Сегодня во второй половине дня разобрались с механикой увольнений и настроили коэффициент сложности заданий. Вот что было сделано. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru