powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / что выбрать CString или string ??
25 сообщений из 26, страница 1 из 2
что выбрать CString или string ??
    #34843926
Tubrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всегда использовал char *, но что-то надоело, постоянные опасения нарушения границ или дополнительный страховочный код, так вот, сейчас не знаю, что будет проще и удобнее: CString || string ??
...
Рейтинг: 0 / 0
что выбрать CString или string ??
    #34844439
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tubrik wrote:

> всегда использовал char *, но что-то надоело, постоянные опасения
> нарушения границ или дополнительный страховочный код,
"Дополнительный страховочный код" можно было бы загнать один раз в
несколько своих собственных процедур для работы со строками. Например,
сделать strlen, который не вылетает, если аргумент == 0, или strcpy и
strcat, который возвращает уже созданную при помощи new[] строку.

> так вот, сейчас
> не знаю, что будет проще и удобнее: CString || string ??
string какой - std::string?
CString привязан к MFC. std::string стандартный. Лично я QString
рекомендую :)

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
что выбрать CString или string ??
    #34844967
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ErV пишет:
> CString привязан к MFC. std::string стандартный. Лично я QString
> рекомендую :)

Уже давно его вынесли оттуда, в общую библиотеку ATL/WTL/MFC.
И теперь это шаблон, если я не ошибаюсь. Так что полный вперед.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
что выбрать CString или string ??
    #34844979
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv wrote:

> И теперь это шаблон, если я не ошибаюсь.
Тогда пардон за дезинформацию.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
что выбрать CString или string ??
    #34845113
grieg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
string --- стандартный класс. Пусть кто-нить озвучит, чем CString лучше. Если таковых аргументов нет, надо использовать string.
----------
Писать свой strlen -- костыль. Надо использовать готовые классы.
...
Рейтинг: 0 / 0
что выбрать CString или string ??
    #34845199
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grieg wrote:

> Писать свой strlen -- костыль. Надо использовать готовые классы.
Зависит от задач. Если остальной функционал std::string не нужен, то
почему бы и нет? И я имел в виду обертку, которая, например, испарвила
бы стандартный вылет, если аргумент равен нулю. Это опять же, в
зависимости от задач может быть нужно или не очень.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
что выбрать CString или string ??
    #34845707
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tubrikвсегда использовал char *, но что-то надоело, постоянные опасения нарушения границ или дополнительный страховочный код, так вот, сейчас не знаю, что будет проще и удобнее: CString || string ??

+ string
string стандартен и удобен.

Собственно, тебе не что не мешает изучить и CString и в зависимости от задачи использовать и его. Например, я иногда использую и char *.
...
Рейтинг: 0 / 0
что выбрать CString или string ??
    #34845713
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
griegПисать свой strlen -- костыль. Надо использовать готовые классы.

strlen - это Си функционал для char *, как и strchr, sprintf и т.д. и т.п.
...
Рейтинг: 0 / 0
что выбрать CString или string ??
    #34846670
Tubrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за советы, решил string, вдруг портировать придется..
...
Рейтинг: 0 / 0
что выбрать CString или string ??
    #34846748
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нужно взять самый "приемлимый" из классов, скопировать его код к себе в проект, переименовать например в CMyString и не будет проблем с портированием ....
...
Рейтинг: 0 / 0
что выбрать CString или string ??
    #34846866
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик Семённужно взять самый "приемлимый" из классов, скопировать его код к себе в проект, переименовать например в CMyString и не будет проблем с портированием ....

интересный подход
Вы так делаете для ВСЕХ классов, что встретите на пути или только для ИЗБРАННЫХ типа string ???
Кстати, std::string не класс, а шаблон, и что то мне подсказывает, что копировать его себе в проект ВЫ лично ... устанете
...
Рейтинг: 0 / 0
что выбрать CString или string ??
    #34846932
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
только ИЗБРАНН ЫЙ string. Причем только в том случае, если его (CString) нет в стандартной библиотеке.
...
Рейтинг: 0 / 0
что выбрать CString или string ??
    #34847016
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик Семёнтолько ИЗБРАНН ЫЙ string. Причем только в том случае, если его (CString) нет в стандартной библиотеке.

И таскать его за собой по всем проектам. А потом еще сотрудников обучать ему. :)
...
Рейтинг: 0 / 0
что выбрать CString или string ??
    #34847019
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик Семёнтолько ИЗБРАНН ЫЙ

Почему-то, к/ф матрица вспоминается.
...
Рейтинг: 0 / 0
что выбрать CString или string ??
    #34847057
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик Семёнтолько ИЗБРАНН ЫЙ string. Причем только в том случае, если его (CString) нет в стандартной библиотеке.

а нафига вам вперся CString если std::string ЗАВЕДОМО есть в СТАНДАРТНОЙ библиотеке
и чем хуже к примеру НЕ ИЗБРАНН ЫЙ CFile ???

нипанимаю
...
Рейтинг: 0 / 0
что выбрать CString или string ??
    #34847618
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akh wrote:

> Почему-то, к/ф матрица вспоминается.
Не. Представляется картина посвящения нового сотрудника в число
избранны:
"Ты доказал свою преданность компании, и, поэтому, сегодня тебе мы
открываем тебе наш самый страшный секрет... (пауза) CMyString!!!!
(зловещий хохот за кадром)"
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
что выбрать CString или string ??
    #34847975
grieg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На самом деле нужно проботать вопрос с кодировками символов. Вот какие вопросы возникают:
1. Как будет обрабатываться нулевой симол?
2. Насколько возможна работа с многобайтовыми кодировками (возможно, не только char и wchar_t)?
Есть подозрение,что string умеет со всеми означенными трудностями справляться. Про CString ничего не знаю. Если автор разберется, будет интересно почитать...
...
Рейтинг: 0 / 0
что выбрать CString или string ??
    #34848453
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
griegПро CString ничего не знаю.

Открой хелп да посмотри
...
Рейтинг: 0 / 0
что выбрать CString или string ??
    #34848791
Stub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ErV
Tubrik wrote:

> всегда использовал char *, но что-то надоело, постоянные опасения
> нарушения границ или дополнительный страховочный код,
"Дополнительный страховочный код" можно было бы загнать один раз в
несколько своих собственных процедур для работы со строками. Например,
сделать strlen, который не вылетает, если аргумент == 0, или strcpy и
strcat, который возвращает уже созданную при помощи new[] строку.

> так вот, сейчас
> не знаю, что будет проще и удобнее: CString || string ??
string какой - std::string?
CString привязан к MFC. std::string стандартный. Лично я QString
рекомендую :)

Posted via ActualForum NNTP Server 1.4

Вместо char* надо использыватьб basic_string<char>, либо CStringA
...
Рейтинг: 0 / 0
что выбрать CString или string ??
    #34848830
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StubВместо char* надо использыватьб basic_string<char>, либо CStringA

да ты шо ???
пойду, мужикам скажу, а то они не знают
...
Рейтинг: 0 / 0
что выбрать CString или string ??
    #34848990
grieg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)
Открой хелп да посмотри
Там слишком много букв. В общем, пока я подозреваю, что с UTF-32 у CString будут проблемы.
...
Рейтинг: 0 / 0
что выбрать CString или string ??
    #34849056
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grieg Gluk (Kazan)
Открой хелп да посмотри
Там слишком много букв. В общем, пока я подозреваю, что с UTF-32 у CString будут проблемы.

Ну так почитай для начала БУКВАРЬ, а потом вместо того чтобы ПОДОЗРЕВАТЬ, все таки ДОКУМЕНТАЦИЮ
...
Рейтинг: 0 / 0
что выбрать CString или string ??
    #34851136
Фотография quaid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Реально рулит AnsiString (C++Builder)
...
Рейтинг: 0 / 0
что выбрать CString или string ??
    #34851410
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan) wrote:
> Открой хелп да посмотри
Лучше исходники.

Stub wrote:
> Вместо char* надо использыватьб basic_string<char>, либо CStringA
Зачем?

grieg wrote:
> В общем, пока я подозреваю, что с UTF-32 у CString будут проблемы.
QString?

> Реально рулит AnsiString (C++Builder)
В g++ его нету. Значит, нафиг.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
что выбрать CString или string ??
    #34851430
grieg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторQString?
Не понял, что именно ты спрашиваешь?
Будут ли у QString (Qt) проблемы с кодировками?
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / что выбрать CString или string ??
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]