Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602

Разрядность WCHAR

28.10.2016, 07:00. Показов 1347. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ну очень тупой вопрос - в WCHAR всегда 16 бит или в зависимости от системы бывает 32?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.10.2016, 07:00
Ответы с готовыми решениями:

WCHAR в string
Привет всем! Столкнулся с такой проблемой - не могу преобразовать WCHAR в string. Вот код: ... WIN32_FIND_DATA wf; std ::...

Преобразование типов WCHAR в char
задача такая: сформировать строку в Edit и совершить действие с числом (калькулятор). Дело в том, что Edit работает со строкой WCHAR, а...

Error C2664: cannot convert argument 1 from 'WCHAR [260]' to 'const char *'
#include <Windows.h> #include <tlhelp32.h> DWORD GetProcessByExeName(char *ExeName) { DWORD Pid; PROCESSENTRY32 pe32;...

11
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
28.10.2016, 09:53
Лучший ответ Сообщение было отмечено Renji как решение

Решение

Всегда.
WCHAR - это адаптированный под Win32 тип wchar_t, с той лишь разницей,
что его размер на всех версиях, разрядностях и платформах одинаковый,
т.е. 16 бит.
1
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
29.10.2016, 09:52
Цитата Сообщение от Renji Посмотреть сообщение
или в зависимости от системы бывает 32?
Под виндой нет.

Под Linux'ом, например, WCHAR нет,
т.к. это виндовое решение, но wchar_t - 32 бита.
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
29.10.2016, 09:57
Croessmah, а в linux есть Win32 API?
O_o
:)
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
29.10.2016, 10:03
Цитата Сообщение от Убежденный Посмотреть сообщение
Croessmah, а в linux есть Win32 API?
Нет ведь, я о другом.
Тип wchar_t - это тип из C++, а не из WinAPI.
Т.к. вопрос был о WCHAR, который
является typedef'ом для wchar_t,
я всё же решил отметить, что на
других платформах оно (wchar_t)
может и не быть 16 бит.
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
29.10.2016, 18:44
Цитата Сообщение от Croessmah Посмотреть сообщение
но wchar_t - 32 бита.
о_О
Всегда считал что wchar_t является обычно (или всегда?) 16-битным типом. Да и мои компиляторы MinGW32 и MinGW64 говорят то же самое

Добавлено через 40 секунд
Цитата Сообщение от Croessmah Посмотреть сообщение
я всё же решил отметить, что на
других платформах оно (wchar_t)
может и не быть 16 бит.
Опечатался в первом случае?
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
29.10.2016, 19:57
Цитата Сообщение от castaway Посмотреть сообщение
Да и мои компиляторы MinGW32 и MinGW64 говорят то же самое
Они ж под виндой работают,
как следствие wchar_t будет 16 бит.

Цитата Сообщение от castaway Посмотреть сообщение
Опечатался в первом случае?
В каком месте?
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
29.10.2016, 20:01
Цитата Сообщение от Croessmah Посмотреть сообщение
В каком месте?
Там где сказал что wchar_t - 32 бита.
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
29.10.2016, 20:14
Цитата Сообщение от castaway Посмотреть сообщение
Там где сказал что wchar_t - 32 бита.
Нет, не опечатался. С чего бы?
C++
1
2
3
4
5
6
#include <iostream>
 
int main()
{
    std::cout << sizeof(wchar_t) << std::endl;
}
16 бит.
32 бита.

Вопрос исчерпан?
1
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
29.10.2016, 20:21
Цитата Сообщение от Croessmah Посмотреть сообщение
Вопрос исчерпан?
Ну.. не совсем. Просто ты в 3-м сообщении сказал что wchar_t - 32 бита, а в 5-м - 16.
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
29.10.2016, 20:23
Цитата Сообщение от castaway Посмотреть сообщение
сообщении сказал что wchar_t - 32 бита
Да, написал, что под линуксом wchar_t 32 бита.
Цитата Сообщение от castaway Посмотреть сообщение
а в 5-м - 16.
Я написал, что на других платформах (отличных от windows)
Цитата Сообщение от Croessmah Посмотреть сообщение
может и не быть 16 бит.
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
29.10.2016, 20:27
Croessmah, Понял. Вопрос исчерпан
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.10.2016, 20:27
Помогаю со студенческими работами здесь

Глобальные хуки и разрядность
Реализовал у себя в приложении хук на перемещение мыши. В итоге, при перемещении мыши к правой части экрана, появляется всплывающая панель....

Как определить разрядность службы?
Как-нибудь через EnumServicesStatusEx ? В реестре я так понимаю за это отвечает параметр...

Определить разрядность windows из 32-битного процесса
нужно определить разрядность операционной системы из 32-битного процесса нашел такой кусок кода, но он показывает 32 бита в 64битной...

Как определить разрядность операционной системы кодом C++?
Решил сделать автозагрузку для одной программы, которая бывает версий х32 и х64. Мне надо проверить разрядность системы, а потом запустить...

Error C2440: =: невозможно преобразовать "const WCHAR [ ]" в "LPCSTR"
Проект настройки обище - Юникод отключил. #include &lt;Windows.h&gt; LRESULT CALLBACK WndPr(HWND,UINT,WPARAM,LPARAM); int WINAPI...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru