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

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 81, средняя оценка - 4.83
Uklunok
3 / 3 / 0
Регистрация: 08.05.2010
Сообщений: 135
04.06.2011, 09:22     Как перенести параметры из ф-ции printf() в самодельную #1
Ребят, подскажите как решить задачу.
Нужно перенести параметры функции printf() в самодельную ф-цию myfunk(). При условии если булева переменная Х==1. Если не равна 1, то не переносить.
Задача осложняется тем, что число параметров ф-ции может быть переменным.
Подскажите пожалуйста, буду очень признателен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.06.2011, 09:22     Как перенести параметры из ф-ции printf() в самодельную
Посмотрите здесь:

как переделать с cout на printf ? C++
Как вывести printf для струкутры C++
Как реализована функция printf C++
C++ Как выделить слово в printf?
Передача ф-ции как параметра другой ф-ции C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
05.06.2011, 12:50     Как перенести параметры из ф-ции printf() в самодельную #41
Uklunok, Хех. А это смотря какая строка. У printf довольно много спецификаторов.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
05.06.2011, 12:54     Как перенести параметры из ф-ции printf() в самодельную #42
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Держи, я нагуглил это за тебя. Для embedded software. Есть вариант с stdarg и без stdarg. Я бы на твоем месте взял бы с stdarg.
http://www.menie.org/georges/embedded/. Там есть ссылка и на реализацию, поддерживающую плавающие числа.
Uklunok
3 / 3 / 0
Регистрация: 08.05.2010
Сообщений: 135
05.06.2011, 12:58  [ТС]     Как перенести параметры из ф-ции printf() в самодельную #43
Огоого сколько тут кодаО_о
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
05.06.2011, 12:59     Как перенести параметры из ф-ции printf() в самодельную #44
Uklunok, вот и разбирайся
Uklunok
3 / 3 / 0
Регистрация: 08.05.2010
Сообщений: 135
05.06.2011, 13:02  [ТС]     Как перенести параметры из ф-ции printf() в самодельную #45
static int print(char **out, const char *format, va_list args ) - эта ф-ция получается будет вместо vprintf()?
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
05.06.2011, 13:03     Как перенести параметры из ф-ции printf() в самодельную #46
Uklunok, там vprintf вообще никаким боком... А хотя да, можно и так сказать. Только не "вместо".
Uklunok
3 / 3 / 0
Регистрация: 08.05.2010
Сообщений: 135
05.06.2011, 13:05  [ТС]     Как перенести параметры из ф-ции printf() в самодельную #47
а если я подключаю заголовок #include <stdio.h>
то билдер ругается на эту строку:
extern int putchar(int c);
[C++ Error] Unit1.c(6): E2040 Declaration terminated incorrectly

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

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

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

Добавлено через 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
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
05.06.2011, 13:50     Как перенести параметры из ф-ции printf() в самодельную #58
если тебе нужна из stdio.h только эта функция, то напиши "extern int stdioAttach(VOS_HANDLE h);" и не подключай stdio.h

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

Добавлено через 2 минуты
убрал int вроде скомпилил без ошибок, ща остальные ф-ции добавлю
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.06.2011, 13:56     Как перенести параметры из ф-ции printf() в самодельную
Еще ссылки по теме:

Калькулятор на Си. Как реализовать триногометрические ф-ции и функцию логарифм? C++
Чем ::printf предпочтительнее printf? C++
C++ Параметры printf

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

Или воспользуйтесь поиском по форуму:
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
05.06.2011, 13:56     Как перенести параметры из ф-ции printf() в самодельную #60
Uklunok, попробуй убрать extern, а int оставь.
Yandex
Объявления
05.06.2011, 13:56     Как перенести параметры из ф-ции printf() в самодельную
Ответ Создать тему
Опции темы

Текущее время: 09:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru