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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.10.2012, 08:35   #1
OlegALL
Новичок
Джуниор
 
Регистрация: 05.10.2012
Сообщений: 1
По умолчанию ошибка сравнения строк, язык c

приведена начало функции, которая преобразует hex байт сначала в 2 символа, затем в эти символы в числа


Код:
BYTE from_byte_to_ascii_codes(int input_byte);
// Функция преобразования байта в ASCII символы
// Сначала входной байт расщепляется на 2 символа ASCII. А потом каждый ASCII
// символ преобразуются в ASCII код
BYTE from_byte_to_ascii_codes(int input_byte)
{
      BYTE broken_input_byte[] = "";
      input_byte = 0x01;
      itoa(input_byte, broken_input_byte, 16);
      // сейчас broken_input_byte[] = "01";
      if (broken_input_byte[0] == 0)  { // здесь ошибка Cannot convert 'unsigned char' to 'char *'
          first_ascii_code = 0x30; 
      }


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 05.10.2012 в 08:47.
OlegALL вне форума Ответить с цитированием
Старый 05.10.2012, 09:39   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

1. Какой смысл передавать input_byte если в теле функции будем присваивать константу?
2. А сколько байт у нас выделено под broken_input_byte?
3. Мне почемуто кажется, что результатом itoa(0x01, buffer, 16) будет несколько отличаться от "01"
4. Там, где у вас ошибка мне ошибку не выдает

PS.
А зачем надо переводить в ASCII а потом в числа - напрямую в числа будет легче.
waleri вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка сравнения R71MT Win Api 11 20.06.2011 00:15
Ускорение сравнения строк Alex Cones Общие вопросы Delphi 2 16.01.2011 15:45
tasm32 не выполняет событие после сравнения строк функцией апи DarkLogic Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 08.01.2011 20:45
Проблема сравнения строк securus Общие вопросы C/C++ 7 21.12.2010 03:12
программа для сравнения строк ТМемо MixanMM Компоненты Delphi 2 02.07.2009 13:28