Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Buckstabue
175 / 124 / 6
Регистрация: 12.01.2012
Сообщений: 624
#1

Часто ли вы пользуетесь wchar_t, wstring, wcout, wcin? Какие в них недостатки? - C++

19.03.2013, 18:30. Просмотров 1066. Ответов 1
Метки нет (Все метки)

Сейчас в учебных целях нужно было для linux написать одну программу, работающую с кириллицей. Т.к. в консоли используется UTF-8, очень неудобно было работать со char-строками(чего стоят только подсчет длины строки или изменение одного определенного символа). Вопрос: часто ли вы это используете широкими строками? И на какие подводные камни можно натолкнуться, используя их?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2013, 18:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Часто ли вы пользуетесь wchar_t, wstring, wcout, wcin? Какие в них недостатки? (C++):

Из wchar_t* в wstring или в string - C++
Как перевести из wchar_t* в wstring или в string ? Почему столько геморроя со строками... Есть функция, которая принимает wstring и...

Неправильно сравнивает строки wchar_t* и std::wstring - C++
#define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <cstdlib> #include <string> using namespace std; wchar_t str =...

Что лучше использовать для работы со строками класс wstring или wchar_t напрямую? - C++
Всем привет! Мучает меня один вопрос: как грамотнее и безопаснее работать со строками: 1) Создавать экземпляр класса wstring и работать...

Широкие символы wchar_t wstring не хотят принимать русские символы - C++
Собственно вопрос в шапке, вот примеры: std::wstring str = L"блин комом"; и такое: wchar_t stroka = L"abcdefghijklmnopqrstuvwxyz...

Объясните, что означает wcout.imbue( locale( "rus_rus.866" ) ); и wcin.imbue( locale( "rus_rus.866" ) ); ? - C++
Непонятно особенно locale( "rus_rus.866" ).

wchar_t, wstring и буфер обмена. Ошибка: Stack around the variable 'curt' was corrupted - C++ WinAPI
wchar_t curt = L""; // тип CurText — wstring int i; for (i = 0; i < CurText.size(); i++) // преобразую wstring к wchar_t. Возможно...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
19.03.2013, 20:15 #2
Основная проблема - непереносимость. Они только в линухе и работают без геморроя (это к wcin/wcout).
У wchar_t довольно большой оверхед памяти (обычно 2 байта вместо 1 с хвостиком), ну и опять же, размер wchar_t по стандарту вроде как неопределен, то есть опять же непереносимость.
Так что лучше использовать что-то вроде ICU. Ну или написать необходимую функциональность ручками и загнать ее в класс.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.03.2013, 20:15
Привет! Вот еще темы с ответами:

Какими сайтами вы часто пользуетесь - Программирование
Добрый день, мой вопрос может показаться глупым в какой то степени, но все же я его задам, если Вы программист, знающий несколько языков...

Как часто пользуетесь своей посудомойкой? - Посудомоечные машины
Вопрос следующий: Как часто вы моете посуду в посудомоечной машине? Я включаю ее раз в 3 дня. В семье 2 человека. Может кто-то пользуется...

Cat, more, less: какие преимущества/недостатки? - Bash
здравствуйте просмотреть файла с команд cat ,more ,less. Какая из них будет более удобна?? и Почему вы так считаете?)) Мне очень...

Какие недостатки у сайта euroinvest.com.ua ? - Web
Буду очень благодарен, если подскажите какие недостатки у сайта http://euroinvest.com.ua Насколько функциональна доска? Как мне...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru