Как вы обрабатываете строки в C ++? - PullRequest
17 голосов
/ 25 сентября 2008

Какой ваш любимый способ работы со строками в C ++? Массив в стиле C char s? Или wchar_t? CString, std::basic_string, std::string, BSTR или CComBSTR?

Конечно, у каждого из них есть своя область применения, но в любом случае, какой ваш любимый и почему?

Ответы [ 15 ]

2 голосов
/ 25 сентября 2008

Символьные массивы в стиле C имеют свое место, но если вы используете их интенсивно, вы просите тратить время на отладку из-за одной ошибки. У нас есть собственный строковый класс, адаптированный для использования в нашей (встроенной среде разработки).

Мы не используем std :: string, потому что он не всегда доступен для нас.

1 голос
/ 25 сентября 2008

std :: string лучше, чем ничего, но раздражает, что в нем отсутствуют базовые функции, такие как split, join и даже вызов приличного формата ...

1 голос
/ 25 сентября 2008

Unicode - это будущее. Не используйте char * и std :: string. Пожалуйста ) Я устал от ошибок локализации.

1 голос
/ 25 сентября 2008

std :: string и std :: wstring, если я могу, и еще что-нибудь, если мне нужно.

Они могут быть не идеальными, но они хорошо проверены, хорошо поняты и очень универсальны. Они хорошо играют с остальной частью стандартной библиотеки, что также является огромным бонусом.

Также стоит упомянуть, stringstreams .

1 голос
/ 25 сентября 2008

Мне нравится использовать TCHAR, который является определением для wchar или char в соответствии с настройками проекта. Он определен в tchar.h, где вы можете найти все связанные определения для функций и типов, которые вам нужны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...