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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> TCHAR или _TCHAR версия STL? 
:(
    Опции темы
Dims
Дата 26.1.2010, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1016
Регистрация: 21.11.2006

Репутация: нет
Всего: 11



Микрософты придумали тип _TCHAR, который реагируя на _UNICODE, предстаёт то в виде char, то в виде wchar_t. Кроме того, они переписали под этот тип всю CRT.

А сделали ли они тоже самое с STL?

Иными словами, есть ли какой-нибудь дефайн _cout, который бы точно так же поступал с cout/wcout?


PM MAIL   Вверх
andrew_121
Дата 26.1.2010, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



Цитата(Dims @  26.1.2010,  15:54 Найти цитируемый пост)
А сделали ли они тоже самое с STL?

ну std::wstring же есть


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
bsa
Дата 26.1.2010, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Dims, даже если не сделали, кто тебе сделать мешает? Переопределить нужно всего лишь string, cin, cout и cerr. Сделать это отвратительно просто:
Код
#ifdef _UNICODE
# define _tstring wstring
# define _tcin wcin
# define _tcout wcout
# define _tcerr wcerr
#else //_UNICODE
# define _tstring string
# define _tcin cin
# define _tcout cout
# define _tcerr cerr
#endif //_UNICODE

PM   Вверх
Alca
Дата 26.1.2010, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 2
Всего: 50



Вставлю свои 5 копеек:  smile 
Код

#if defined(UNICODE) || defined(_UNICODE)
    typedef std::wstring        tstring;         
    typedef std::wostringstream tostringstream; 
    typedef std::wistringstream tistringstream;
    typedef std::wifstream      tifstream;      
    typedef std::wofstream      tofstream;  

    #define tcout               std::wcout   
#else   
    typedef std::string         tstring;       
    typedef std::ostringstream  tostringstream; 
    typedef std::istringstream  tistringstream;  
    typedef std::ifstream       tifstream;      
    typedef std::ofstream       tofstream;     

    #define tcout               std::cout      
#endif  /*_UNICODE*/



--------------------
PM WWW ICQ Skype Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


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

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


 




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


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

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