Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Системное программирование и WinAPI > Преоброзовние Строки в Число |
Автор: Mark4545 28.7.2007, 20:47 |
Собствено сама проблема в названии темы. Также можно вставки _asm (Желательно с коментами)(но предпочтительне средствами Виндоус апи) П.С IDE 2003 студия |
Автор: JackYF 28.7.2007, 23:39 |
itoa к WinAPI имеет не большее отношение, чем я к бальным танцам. Раз. Недавно здесь пробегала похожая тема, где было указано не менее 5 способов этого преобразования. Для тебя хорошая возможность развить навык пользования поиском по разделу. Два. |
Автор: Mark4545 29.7.2007, 00:35 |
Прежде чем советовать Другим юзать поиск научился бы сам юзать его. Или может я непрально юзаю , ну никак не могу найти способ Преобразовния Строки в число СРЕДСТВАМИ ВИН АПИ |
Автор: Mark4545 29.7.2007, 00:55 |
2JackYF Какая разница зачем мне это нужно.Значит нужно. Давай не будем разводить флейм, если такого варианта конечно нет , как вариант вставки из АСМ. |
Автор: JackYF 29.7.2007, 01:08 |
плохой ответ. Ты же просишь помощи, а вот например я реально не могу понять, чем тебя не устраивает C++ RTL. вот я еще раз не понимаю, почему ты ограничиваешь выбор ВинАПИ и асмом. Учитывая, что хорошие реализации C++ RTL под конкретную платформу наверняка используют ассемблер в критических участках кода. Что тебе требуется? портабельность? производительность? краткость? я просто не могу понять... |
Автор: Mark4545 29.7.2007, 01:21 |
Создай отдельную тему и там флейми.Или создай тему чем mark4545 не устраивает C++ RTL. И плиз не разводи флейм. |
Автор: dumb 29.7.2007, 01:52 |
вариант конечно есть, но ты вставляй асм, пока вежливости не научишься. ![]() |
Автор: Mark4545 29.7.2007, 01:58 |
Спс dump твой ответ мне очень помог.Очень много информации в нем![]() |
Автор: W4FhLF 29.7.2007, 06:36 |
Я так и не понял. Что на входе, что на выходе? Какие типы, какие требования к коду? Можно ли юзать WinAPI(почти весь RTL есть в ntdll, если ты его не хочешь использовать)? Ну нипонятна же... |
Автор: Andrey44 29.7.2007, 09:04 |
Попробуй через сравнение символов по ASCII коду. ![]() dec hex 0 48 30 1 49 31 2 50 32 3 51 33 4 52 34 5 53 35 6 54 36 7 55 37 8 56 38 9 57 39 Помоему так попробуй. ![]() |
Автор: Andrey44 29.7.2007, 09:57 | ||
Вот набросал пример ![]()
Всё работает ![]() |
Автор: W4FhLF 29.7.2007, 11:08 |
Andrey44, проще 0x30 отнимать от каждого байта, чем такое городить. |
Автор: Mark4545 29.7.2007, 12:10 |
Сенкс ту Андрей44. Просто используеться прагма ENTRY:/DllMain /NODEFAULTLIB /MERGE:.rdata=.text Поэтому ругаеться компилятор, без них как по маслу но размер большой. |
Автор: Andrey44 29.7.2007, 12:20 |
W4FhLF Я показал как это можно сделать на примере ,а оптимизировать код - это личное дело каждого. ![]() |
Автор: Mark4545 29.7.2007, 12:30 |
Ха а щас подумал над постом W4FhLF хороший способ , опробывал. Вопрос решен, всем кто писал спс. |
Автор: W4FhLF 29.7.2007, 12:41 | ||
Практически весь CRT есть в ntdll(нужные тебе функции точно), поэтому ты себе лишние проблемы сам создаёшь. |