Изъятия текста из диалогового окна (winApi)

292
19 декабря 2016, 19:56

Почему, когда я считываю текст из BoxEditor диалогового окна, или же вызываю диалог открытия/сохранения файла, то текст у меня сохраняется в элементы с четными индексами?

Например, что бы считать текст из боксЭдитора мне требуется такой код

                string s="";
                char text[50];
                GetDlgItemText(hDlg,IDC_X,LPWSTR(text), 50);
                s+=text[0];
                s+=text[2];
                s+=text[4];
                s+=text[6];

подскажите, Пожалуйста, как считать текст, что бы он заполнял весь массив, а не лишь его элементы с четными индексами.

Answer 1

Потому что нужно использовать соответствующие типы строковых переменных. В Windows используются символы однобайтные и двухбайтные. Сделано так для поддержки Unicode и многоязычности. LPWSTR - это как раз и есть строка из двухбайтных символов, char [] - строка из однобайтных.

READ ALSO
Потери данных при записи аудио потоков (Linux 64bit)

Потери данных при записи аудио потоков (Linux 64bit)

Уважаемые профи! Написал программу записи нескольких потоков аудио данных с АЦП(специальная плата PCI)Программа работает, но при прослушивании...

262
C++ сервер - клиент [закрыто]

C++ сервер - клиент [закрыто]

Подкиньте литературки по поводу общения клиент - сервер - клиентОтправка текстовой информации

276
Распарсить XML

Распарсить XML

Добрый деньПомогите, пожалуйста? средствами Qt или других C++ библиотек распарсить XML ответ сервера в таком виде

249
Задача на массивы с++

Задача на массивы с++

Помогите, пожалуйста, разобраться с задачейИз массива А удалить нечетные элементы, которые не равны нечетным элементам массива В

291