? Win, VS2005, C++: Функция с форматированнным вводом.

0000

Имеется f(char* string);
В строку string передается что то в духе "Bla-bla (%i, %i, %s)" (%что-то - формат как в printf).
Без MFC и ATL.
Сейчас делаю вот такое

char DoString[255];
char x[6], y[6];
...
_itoa (LOWORD (lParam x, 10);
_itoa (HIWORD (lParam y, 10);
strcpy (DoString, "OnClick (");
strcat (DoString, x);
strcat (DoString, ", ");
strcat (DoString, y);
strcat (DoString, ")");
luaL_dostring (g_Lua, DoString);

А хотеось бы, как в printf, то есть приведенный код был похож на

fDoString (g_Lua, "OnClick (%i, %i)", LOWORD (lParam HIWORD (lParam;

Можно ли в С++ это сделать как то просто, без разбора строки? (наверно есть какая нибудь функция аналогичная Delphi - format?)

kokoc88

Тебе надо ботать ..., если я правильно понимаю твой вопрос.
Кстати, для связки Си++ и LUA существует замечательная вещь: luabind. Умеет всё.

0000

luabind использует boost, вроде. Т.е. придется с ним еще парится, поскольку на WInCE все это твориться.
Сейчас использую tolua++.

kokoc88

luabind использует boost, вроде. Т.е. придется с ним еще парится, поскольку на WInCE все это твориться.
Сейчас использую tolua++.
Вообще с бустом обычно нету никаких проблем. tolua++ очень неудобен во многих смыслах, например, требует отдельных описаний классов и, вроде бы, не поддерживает некоторые удобные вещи. Конечно, как именно писать дело твоё.

Andbar

ничего не понял, но может тебе поможет _vsnprintf

0000

Фигаки меня глючит - это то что надо. Спасибо, большое
Оставить комментарий
Имя или ник:
Комментарий: