Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
Страниц: 1 2 [3] 4 5 6 ... 10
 21 
 : 08-02-2024 09:03 
Автор Boriska - Последний ответ от Boriska
sizeof(char) = 1, массив из двух char должен быть размером 2, но вот что мы видим, хотя sizeof(char) = 1
https://drive.google.com/file/d/16NX_l3bEzo4psVqzKloxIr1nQQpocNmu/view?usp=sharing

 22 
 : 08-02-2024 03:28 
Автор Boriska - Последний ответ от Алексей++
Ochkarik, CHAR - это студийный алиас (то есть - вообще не относится к стандарту). Размер его в байтах равен sizeof(CHAR)

 23 
 : 07-02-2024 21:08 
Автор Boriska - Последний ответ от Ochkarik
Алексей++, я тот еще специалист в сях, но для меня неочевидно что из
"CHAR_BIT - number of bits in a byte"...
а сколько тогда в CHAR - байт?)

как-то продолжение беседы не увидел сразу)

 24 
 : 04-02-2024 12:17 
Автор Boriska - Последний ответ от Boriska
UTF8

 25 
 : 04-02-2024 07:50 
Автор Boriska - Последний ответ от Алексей++
Boriska, казалось бы, при чём тут шарп

а сам файл в какой кодировке то, кстати ?

 26 
 : 04-02-2024 07:46 
Автор Boriska - Последний ответ от Boriska
вот из С#
char a = 'A';
int b = sizeof(a);

'identifier' does not have a predefined size, therefore sizeof can only be used in an unsafe context
Without unsafe context, the sizeof operator can only be used for types whose size is a compile-time constant. If you are getting this error, use an unsafe context.
The following example generates CS0233:

Возможно там было что то из этой оперы, но по идее бред. Надо будет откатить и все пересмотреть.

 27 
 : 04-02-2024 07:33 
Автор Boriska - Последний ответ от Boriska
вот я и попытался съэкономить
Код:
code_page_ru['А'] = 'A'; //'А'0x90
code_page_ru['Б'] = (char)160;
если русский символ есть я подставляю его, если его нет беру значение из знакогенератора индикатора.
потом глядь, а  'A' двухбайтовый

сейчас это выглядит вот так, все работает но осадочек остался
Код:
char _code_page_ru[256] = {
   
    [' ' & 0x00FF] = ' ',
    ['.' & 0x00FF] = '.',
    ['=' & 0x00FF] = '=',
    ['+' & 0x00FF] = '+',
    ['-' & 0x00FF] = '-',
    [':' & 0x00FF] = ':',
    [';' & 0x00FF] = ';',
    ['[' & 0x00FF] = '[',
    [']' & 0x00FF] = ']',
    ['(' & 0x00FF] = '(',
    [')' & 0x00FF] = ')',
    ['%' & 0x00FF] = '%',
    ['@' & 0x00FF] = '@',
    ['*' & 0x00FF] = '*',
    ['/' & 0x00FF] = '/',
    ['\\' & 0x00FF] = '\\',
    ['|' & 0x00FF] = '|',
    ['?' & 0x00FF] = '?',
    ['<' & 0x00FF] = '<',
    ['>' & 0x00FF] = '>',
   
['А' & 0x00FF] = 'A',                   //'А'0x90
['Б' & 0x00FF] = (char)160,             //'Б'
['В' & 0x00FF] = 'B', //'В'
['Г' & 0x00FF] = (char)161, //'Г'
['Д' & 0x00FF] = (char)224, //'Д'
['Е' & 0x00FF] = 'E', //'Е'
['Ж' & 0x00FF] = (char)163, //'Ж'
['З' & 0x00FF] = (char)164, //'З'

 28 
 : 03-02-2024 23:44 
Автор Boriska - Последний ответ от RXL
Т.е. нужны константы и строки в 8-битной кодировке, совместимой с используемым шрифтом.

С константами все просто:
Код: (C)
enum { // cp866
    char_ru_A  = 0x80,
    char_ru_B = 0x81,
    // ...
};

code_page_ru[char_ru_A] = ...;

Строки нужно перекодировать перед компиляцией. Например, объявить строки extern и поместить в один модуль не .c, а с каким-то другим расширением, напр. .cstr, и прописать для него в Makefile правила сборки, где будет создан файл .c в нужной кодировке.

 29 
 : 03-02-2024 21:11 
Автор Boriska - Последний ответ от Boriska
Хорошо бы. Но это не VS и не для ОС. Это STM32CubeIDE для микроконтроллеров STM32. Там вроде С есть и даже C++ а эта страница заполнялась для индикации на ЖК индикаторе двухстрочном. Там wchar небывает Улыбаюсь

 30 
 : 03-02-2024 15:03 
Автор Boriska - Последний ответ от RXL
Есть такой wchar...

Страниц: 1 2 [3] 4 5 6 ... 10
Powered by SMF 1.1.21 | SMF © 2015, Simple Machines