![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| informn |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 15.7.2005 Репутация: нет Всего: нет |
Нужно считать файл(Unicode UTF-16).
Вот код, ктр. это делает, но возникает такая проблема: Если просматривать содержимое chu, то через 1 символ содержится 0-символ. В chu содержится [0] 255 'ÿ' wchar_t [1] 254 'þ' wchar_t [2] 60 '<' wchar_t [3] 0 wchar_t [4] 97 'a' wchar_t [5] 0 wchar_t [6] 114 'r' wchar_t [7] 0 wchar_t [8] 116 't' wchar_t [9] 0 wchar_t [10] 105 'i' wchar_t [11] 0 wchar_t [12] 99 'c' wchar_t [13] 0 wchar_t [14] 108 'l' wchar_t Откуда берутся символы [0] 255 'ÿ' wchar_t и [1] 254 'þ' wchar_t(их нет в исходном файле)? может быть это признак unicode текста? вот начало файла: <article id="1 При преобразовании WideCharToMultiByte он преобразует не всю строку, а только её часть до первого 0. Как убрать эти лишние 0. Может быть это можно сделать как попроще? Компилятор visual c++ 7.1 рихтера читал, но там как-то всё мутно и без конкретных нормальных примеров. может быь ещё где стоит почитать? Это сообщение отредактировал(а) informn - 24.7.2005, 17:22 |
|||
|
||||
| Дрон |
|
||||||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: 10 Всего: 93 |
В общем, да. Кроме того, они обозначают порядок следования старшего/младшего байтов.
Так ты по байтам, похоже, просматриваешь. А unicode-то - двубайтный. Для латинских букв старший байт содержит 0, а младший -- ASCII-код. Т.е. там всё нормально.
Сам не проверял и никогда с этой функцией не работал, но похоже, что это ты что-то не так делаешь. -------------------- Да. Именно так. |
||||||
|
|||||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 17 Всего: 110 |
попробуй вручную посчитать длину строки и передать ее вместо -1
хотя все равно что-то не то... -------------------- qqq |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |