Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.10.2009, 15:27   #1
LukS
Пользователь
 
Аватар для LukS
 
Регистрация: 22.01.2009
Сообщений: 20
Вопрос Формирование строк как в sprintf()

Есть функция:
Код:
inline void print(char *str)
{ 
CharToOem(str, bufOem); 
printf("%s", bufOem); 
}
Необходимо реализовать нечто, наподобие функций sprintf, printf и прочих.
Суть в том, что можно задавать "шаблон" и писать переменные которые в нем используются. Например, чтобы написать на кириллице предложение, в котором есть изменяемая цифра (в моем примере - версия программы) нужно будет использовать буфер. Я где-то уже видел такую функцию-враппер для WinSock'а - send. Можно было написать send("number: %i", num); и все прекрасно работало, но увы я уже не помню как это делалось. Пытание гугла результатов не выдало, т.к. даже не знаю по какому запросу искать Вот собственно что надо реализовать в одну строку:
Код:
	sprintf(buf, "Версия: %s %s\n", PROG_VERSION, PROG_ADDITIONAL);
	print(buf);
Нужно сделать это вот-так:
Код:
	print("Версия: %s %s\n", PROG_VERSION, PROG_ADDITIONAL);
Заранее спасибо.

Последний раз редактировалось LukS; 15.10.2009 в 16:00.
LukS вне форума Ответить с цитированием
Старый 15.10.2009, 17:20   #2
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Чтобы писать функции с переменным числом параметров, надо подключать <stdarg.h> Почитайте тут
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Старый 15.10.2009, 17:28   #3
LukS
Пользователь
 
Аватар для LukS
 
Регистрация: 22.01.2009
Сообщений: 20
По умолчанию

Greblin, спасибо, именно это и искал. Не мог понять как сформулировать название этого явления :-D
LukS вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать разбор строк? Вадим Буренков Общие вопросы Delphi 3 26.06.2009 22:53
Ошибка линвки (функция sprintf) LukS C/C++ Сетевое программирование 21 25.01.2009 13:58
Матрица A состоит из 8 строк и 6 столбцов. вычесть из всех её строк, начиная со второй, первую строку Dimak24 Помощь студентам 1 19.12.2008 15:45
Excel max 256 строк VS user надо 300 строк Exo Microsoft Office Excel 3 10.01.2008 17:14
Двумерные массивы. Формирование одномерного массива из сумм строк матрицы, кратных числу k (в С++) Fimogen Помощь студентам 3 19.11.2007 07:30