61 / 61 / 15
Регистрация: 18.05.2015
Сообщений: 322
|
||||||
1 | ||||||
[VC++6.0] Во что сконвертировать LPCWSTR без потерь?10.04.2016, 16:23. Показов 1266. Ответов 25
Метки нет (Все метки)
Прежде всего, проект реально делался в VS 5 лет 17 назад (может, чуть меньше) и особого желания пытаться его портировать на более новую версию нет, т.к. это, скорее всего, приведет к большим граблям. Ну, во всяком случае, на 6 версии он изначально собирался без проблем.
Есть pTextFragList - указатель на структуру типа SPVTEXTFRAG, содержащую в себе поле типа LPCWSTR (указатель на начало строки)+длину строки. Пытаюсь:
Код
error C2664: 'MessageBoxA' : cannot convert parameter 2 from 'const unsigned short *' to 'const char *' Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast https://social.msdn.microsoft.... =vcgeneral Но там вообще какие-то левые советы вроде изменить кодировку проекта (не представляю, как это могло бы помочь), в любом случае, выполнить их как-то не получается, ибо в ВС 6 нет даже таких опций, о которых они говорят. Вопрос, думаю, понятен.
0
|
10.04.2016, 16:23 | |
Ответы с готовыми решениями:
25
1 HDD на 3ТБ установки Windows 10 Как установить без разбития разделов без потерь ? Разветвитель без потерь Как установить без потерь? сжатие без потерь на stm32f4 |
61 / 61 / 15
Регистрация: 18.05.2015
Сообщений: 322
|
|
12.04.2016, 16:38 [ТС] | 21 |
Вроде получилось, но только захардкодив соответствия между символами юникода и cp1251 (да, прямо один большой switch и в вариантах), ибо посмотрев на WideCharToMultiByte я опечалился еще сильнее, т.к. она вводит еще парочку новых типов для строк. Может, их и не двадцать пять, но десяток точно наберется.
Спасибо всем, кто помогал.
0
|
7793 / 6560 / 2984
Регистрация: 14.04.2014
Сообщений: 28,672
|
||||||
12.04.2016, 19:27 | 22 | |||||
Какие ещё типы? Вот:
2
|
61 / 61 / 15
Регистрация: 18.05.2015
Сообщений: 322
|
|
14.04.2016, 22:53 [ТС] | 23 |
А как отвязаться от этого числа 100? Просто длину в квадратные скобки у char по ходу не подставить, видимо, нужна константа.
Если допустим строка будет больше 100 символов ну или если меньше, наверняка получится массив с кучей нулевых символов в конце.
0
|
7793 / 6560 / 2984
Регистрация: 14.04.2014
Сообщений: 28,672
|
|
14.04.2016, 23:19 | 24 |
100 - это размер второго массива. По размеру и ставь.
0
|
61 / 61 / 15
Регистрация: 18.05.2015
Сообщений: 322
|
||||||
15.04.2016, 17:22 [ТС] | 25 | |||||
У первого - да, понятно, но вот у второго
0
|
7793 / 6560 / 2984
Регистрация: 14.04.2014
Сообщений: 28,672
|
||||||
15.04.2016, 17:49 | 26 | |||||
Значит, бери массив с запасом. Либо можно предварительно запросить требуемую длину у функции
1
|
15.04.2016, 17:49 | |
15.04.2016, 17:49 | |
Помогаю со студенческими работами здесь
26
Переустановка без потерь win7 Тихий звук без потерь Алгоритмы сжатия без потерь Передача файлов без потерь Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |