15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту

CString

CString


Функции класса
Операторы класса

Объект CString – последовательность символов переменной длины. CString имеет методы и операторы с синтаксисом подобным Бейсику. Конкатенация и операторы сравнения, вместе с упрощенным управлением памятью, делают объекты CString более легкими в использовании чем обычные символьные массивы.

CString не имеет базового класса.
CString объекты также имеют следующие характеристики:
        -CString объекты могут увеличиваться в результате операций конкатенации.
        -Думайте об объекте CString как о фактической строке, а не как об указателе на строку.
        -Вы можете свободно заменить объектами CString параметры функции типа LPCTSTR и const char*
        -Конверсионный оператор дает прямой доступ к символам строки как к массиву, но только для чтения символов (строка C-стиля).

Совет: Где возможно, распределите объекты CString в стеке, а не на динамической памяти. Это экономит память и упрощает передачу параметров.
CString помогает Вам в экономии пространства памяти, позволяя двум строкам, совместно использующим то же самое значение, также совместно использовать одно пространство буфера. Однако, если Вы пытаетесь изменять содержание буфера непосредственно (не используюя MFC),Вы можете случайно изменить обе строки. CString обеспечивает два метода, CString::LockBuffer и CString::UnlockBuffer, они помогут Вам защитить ваши данные. Когда Вы вызываете LockBuffer, Вы создаете копию строки, затем устанавливаете reference count на -1, блокируя тем самым буфер. В то время как буфер блокирован, никакая другая строка не может ссылаться на данные в этой строке, и блокированная строка не будет ссылаться на другую строку. Блокируя строку в буфере, Вы гарантируете, что данные, останутся неповрежденными. Когда Вы закончили с этим, вызовите UnlockBuffer, чтобы сбросить reference count к 1.

Замечания
Windows CE не поддерживает следующие методы CString класса:
       AnsiToOem
       Collate
       FormatMessage
       OemToAnsi

Требования:
Версии Windows CE: 1.0 и позже
Файл заголовков: Объявлен в Afx.h
Платформа: H/PC Pro, Palm-size PC, Pocket PC

Об авторах