опубликован 05-02-2002 00:35 MSK
Сделай сам! Я делал для int чисел! Надо, могу кинуть пример!Ладно, держи:
UINT ConvertFromCharToUINT (char *szString)
{
char *lpszTmp;
lpszTmp = szString;
char *Symbol = (char*)GlobalAlloc(GMEM_FIXED, 1); // Выделяем память на один символ, в котором будем хранить число для проверки
UINT a, b;
for (a = strlen(szString); a > 0; a--, lpszTmp++) // Первый цикл
{
for (b = 0; b < 10; b++) // Второй цикл для проверки нашего числа
{
_itoa(b, Symbol, 10); // переводим число b в строку
if (!strnicmp(Symbol, lpszTmp, 1)) // а здесь проверяем, соответствует ли символ в строке нашему
{
Result += b * pow(10, a - 1); // Result - результат, т.е. здесь идет просчет
break;
}
}
}
GlobalFree(Symbol); // Чистим буфер
return Result;
}
Сори, за оформление и за лишний бред, но я тогда только начинал программинг на C++, так что ...
Здесь ф-ции не учитывается значения, меньшие чем ноль (нуль)! Тут надо совсем чуть-чуть доделать/добавить (а именно проверку значений типа 0xa...0xf) и все будет хорошо! Помощь нужна? Если что, мыль на мыло SUnteXx@pisem.net, а то забуду еще!