3 / 3 / 0
Регистрация: 08.05.2010
Сообщений: 135
|
|
1 | |
Как перенести параметры из ф-ции printf() в самодельную04.06.2011, 09:22. Показов 21791. Ответов 104
Метки нет (Все метки)
Ребят, подскажите как решить задачу.
Нужно перенести параметры функции printf() в самодельную ф-цию myfunk(). При условии если булева переменная Х==1. Если не равна 1, то не переносить. Задача осложняется тем, что число параметров ф-ции может быть переменным. Подскажите пожалуйста, буду очень признателен.
0
|
04.06.2011, 09:22 | |
Ответы с готовыми решениями:
104
Как перенести параметры с XP на 7 Передача ф-ции как параметра другой ф-ции Параметры printf Динамические параметры printf() |
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
05.06.2011, 12:50 | 41 |
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
05.06.2011, 12:54 | 42 |
Сообщение было отмечено как решение
Решение
Держи, я нагуглил это за тебя. Для embedded software. Есть вариант с stdarg и без stdarg. Я бы на твоем месте взял бы с stdarg.
http://www.menie.org/georges/embedded/. Там есть ссылка и на реализацию, поддерживающую плавающие числа.
3
|
3 / 3 / 0
Регистрация: 08.05.2010
Сообщений: 135
|
|
05.06.2011, 12:58 [ТС] | 43 |
Огоого сколько тут кодаО_о
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
05.06.2011, 12:59 | 44 |
Uklunok, вот и разбирайся
1
|
3 / 3 / 0
Регистрация: 08.05.2010
Сообщений: 135
|
|
05.06.2011, 13:02 [ТС] | 45 |
static int print(char **out, const char *format, va_list args ) - эта ф-ция получается будет вместо vprintf()?
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
05.06.2011, 13:03 | 46 |
Uklunok, там vprintf вообще никаким боком... А хотя да, можно и так сказать. Только не "вместо".
1
|
3 / 3 / 0
Регистрация: 08.05.2010
Сообщений: 135
|
|
05.06.2011, 13:05 [ТС] | 47 |
а если я подключаю заголовок #include <stdio.h>
то билдер ругается на эту строку: extern int putchar(int c); [C++ Error] Unit1.c(6): E2040 Declaration terminated incorrectly Добавлено через 56 секунд И про код господина fasked можно забыть чтоли? но он такой хороший
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
05.06.2011, 13:09 | 48 |
Uklunok, если у тебя нету vprintf - то да, можно забыть.
1
|
3 / 3 / 0
Регистрация: 08.05.2010
Сообщений: 135
|
|
05.06.2011, 13:13 [ТС] | 49 |
Ну здесь же всеровно сообщения выводятся через printf()....
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
05.06.2011, 13:14 | 50 |
1
|
3 / 3 / 0
Регистрация: 08.05.2010
Сообщений: 135
|
|
05.06.2011, 13:16 [ТС] | 51 |
ААААА, всё понял, поменял название ф-ции на printf1(), и всеровно сообщения выводятся, нормально, значит можно полностью этот код и вставить.
Не подскажите в билдере ф-цию чтобы консоль не закрывалась, типа getch(), хочу глянуть достоверные данные выводятся...
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
05.06.2011, 13:17 | 52 |
system("pause"); из stdlib.h
1
|
3 / 3 / 0
Регистрация: 08.05.2010
Сообщений: 135
|
|
05.06.2011, 13:30 [ТС] | 53 |
Nameless One, Спасибо большое. Чтобы я без тебя делал. Выручил очень.
Сейчас попытаюсь вставить код в проект для МК Добавлено через 8 минут А как быть если #include "stdio.h" всё-таки нужен?
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
05.06.2011, 13:32 | 54 |
Uklunok, тогда нужно сделать так, чтобы имена объявляемых тобой функций не конфликтовали с именами функций из stdio.h
0
|
3 / 3 / 0
Регистрация: 08.05.2010
Сообщений: 135
|
|
05.06.2011, 13:33 [ТС] | 55 |
Просто эта ф-ция
stdioAttach(hUart); без не её похоже нельзя
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
05.06.2011, 13:35 | 56 |
Uklunok, какой у нее прототип?
0
|
3 / 3 / 0
Регистрация: 08.05.2010
Сообщений: 135
|
|
05.06.2011, 13:48 [ТС] | 57 |
Ок, получилось, щас буду пробовать
Добавлено через 1 минуту Если интересно, то вот: 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
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
05.06.2011, 13:50 | 58 |
если тебе нужна из 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 [ТС] | 59 | |||||
ругается на эту строку:
типа двумя типами инициализирована ф-ция Добавлено через 2 минуты убрал int вроде скомпилил без ошибок, ща остальные ф-ции добавлю
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
05.06.2011, 13:56 | 60 |
Uklunok, попробуй убрать extern, а int оставь.
0
|
05.06.2011, 13:56 | |
05.06.2011, 13:56 | |
Помогаю со студенческими работами здесь
60
Форматы и параметры printf/scanf Как припаять PLS на самодельную плату Не могу понять как исправить ошибку Warning: printf() [function.printf]: Too few arguments in Z:\home\ksards.ru\www\id\1.php on line 76 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |