Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> wchar_t в char, не переводит 
V
    Опции темы
Rickert
Дата 23.8.2006, 04:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: 0
Всего: 52



Делаю так:
Код

char* chr = new char[1024];
...
memset(chr, 0, 1024);
wcstombs(chr, cell->GetWString(), cell->GetStringLength());
...

cell->GetWString() - строка там стопудово, смотрел дебагом.
cell->GetStringLength() - не нулевое стопудово.
chr остаётся просто пустым smile 


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Damarus
Дата 23.8.2006, 05:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 671
Регистрация: 6.5.2006

Репутация: 6
Всего: 29



В cell строка видимо в кирилице. Тогда так:
Код

_wsetlocale(LC_ALL, L"Russian"); // setlocale(LC_ALL, "Russian");
...
char* chr = new char[1024];
...
memset(chr, 0, 1024);
wcstombs(chr, cell->GetWString(), cell->GetStringLength());
...

или так:
Код

_locale_t rus = _create_locale(LC_ALL, "Russian");
...
char* chr = new char[1024];
...
memset(chr, 0, 1024);
_wcstombs_l(chr, cell->GetWString(), cell->GetStringLength(), rus);
...
_free_locale(rus);


Добавлено @ 05:47 
Цитата(Rcikert @  23.8.2006,  05:39 Найти цитируемый пост)
char* chr = new char[1024];
...
memset(chr, 0, 1024);

Проще так:
Код

char* chr = new char[1024]();


Это сообщение отредактировал(а) Damarus - 23.8.2006, 05:48
PM MAIL ICQ Jabber   Вверх
Rickert
Дата 23.8.2006, 06:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: 0
Всего: 52



WideCharToMultiByte(CP_ACP, 0, cell->GetWString(), cell->GetStringLength(), chr, 1024, 0, 0);
Спасёт мир. ;) 



--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0681 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.