Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> String to UCHAR конвертация. 
:(
    Опции темы
Viroman
Дата 28.8.2008, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 28.7.2008

Репутация: нет
Всего: нет



Здравствуйте, помогите пожалуйста разрешить проблему новичку. И так имеется программа, получаю по ней в комманд стринг 
argv[1] с содержанием aa0eb1ff. Теперь этот стринг надо перевести в UCHAR, как тот преобразовывается, если укажешь так
UCHAR cmd[6]="\xAA\x0E\xB1\xFF"; То есть это дело надо автоматизировать, перевод стринга в учар, при том длина вариабельна.
Помогите пожалуйста!
PM MAIL   Вверх
Ches
Дата 29.8.2008, 08:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 19.8.2008

Репутация: нет
Всего: 3



Код

uchar *uc = new uchar[strlen(argv[1])];
memcpy(uc, argv[1], strlen(argv[1]));

PM MAIL ICQ   Вверх
Viroman
Дата 29.8.2008, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 28.7.2008

Репутация: нет
Всего: нет



Не, это не то, видимо я вопрос некорректно сформулировал. В общем, я специально указал это в таком виде \x . то есть стринг конвертится в свой анси аналог \xAA\x0E\xB1\xFF. Но поскольку это из argv поступает, мне надо то, что поступает в этом виде
aa0eb1ff автоматом перевести в анси формат, то есть чтобы реально был тот знак, который соответствует этому значению.
Сейчас я это делаю вот так UCHAR uc; uc=strtoul(argv[1],NULL,16); но так к сожалению работает только для последнего знака, то есть выдаёт мне один знак, а не цепочку. Я думал есть простое решение это сделать. А то сейчас я представлю, все значения попарно разбивать аа 0е b1 ff итп, а потом каждый по отдельности переводить в этот формат и потом склеивать цепочку, вот и подумалось, есть ли решение нормальное и готовое. А то всё облазил, ничего не нашёл, sprintf с "c" не предлагать, конвертит тоже только один знак..
PM MAIL   Вверх
W4FhLF
Дата 29.8.2008, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 2
Всего: 121



Готового решения нет. Пиши сам. 


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Ches
Дата 29.8.2008, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 19.8.2008

Репутация: нет
Всего: 3



Цитата(Viroman @  29.8.2008,  10:18 Найти цитируемый пост)
все значения попарно разбивать аа 0е b1 ff итп, а потом каждый по отдельности переводить в этот формат и потом склеивать цепочку

думаю, так и нужно

PM MAIL ICQ   Вверх
Viroman
Дата 29.8.2008, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 28.7.2008

Репутация: нет
Всего: нет



Спасибо, тоже некая помощь, всё самому smile
PM MAIL   Вверх
Viroman
Дата 29.8.2008, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 28.7.2008

Репутация: нет
Всего: нет



Тут у меня возник вопрос, коль уж мне substr применять приходится, и из за этого приходится дополнительную библиотеку инклудить, что приводит к неимоверному разрастанию кода,  есть ли решения по типу substr под char, а не string, а то substr только со string работает. В общем буду благодарен, хочется прогу видеть миловидную, а не монстра..
PM MAIL   Вверх
JackYF
Дата 29.8.2008, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 6
Всего: 162



strstr


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Viroman
Дата 29.8.2008, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 28.7.2008

Репутация: нет
Всего: нет



Я не могу strstr применять, чтобы позиционно выдирать знаки, оно мне не подходит, мне надо так, с места 2 два знака, что substr делает, а как это с strstr сделать, если он по другому работает?
PM MAIL   Вверх
JackYF
Дата 29.8.2008, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 6
Всего: 162



а, тю, перепутал... strncpy(dest, str+offset, len)


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Viroman
Дата 29.8.2008, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 28.7.2008

Репутация: нет
Всего: нет



Я эту функцию знаю и уже использовал, только в ней нерешимая для меня сейчас проблема, если стринг имеет два ноля, 00, то функция не срабатывает, если есть возможность, перепроверьте пожалуйста, у всех она так поступает, или только у меня :(

Это сообщение отредактировал(а) Viroman - 29.8.2008, 21:24
PM MAIL   Вверх
JackYF
Дата 30.8.2008, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 6
Всего: 162



Цитата(Viroman @  29.8.2008,  20:23 Найти цитируемый пост)
если стринг имеет два ноля, 00

в смысле, два нулевых байта? тогда тебе нужно memcpy.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0502 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.