Функция StringCchLength


Функция StringCchLength - заменяет функцию strlen. Она используется, чтобы гарантировать, что строка не больше, чем заданная длина, в символах. Если это условие соблюдается, то StringCchLength возвращает текущую длину строки в символах, включая символ завершающего нуля.

Синтаксис

HRESULT StringCchLength(      

    LPCTSTR psz,
    size_t cchMax,
    size_t *pcch
);

Параметры

psz

[in] Указатель на буфер, содержащий строку, длина которой проверялась.

cchMax

[in] Максимальное число символов, допустимых в psz, включая символ завершающего нуля. Это значение не может выходить за пределы STRSAFE_MAX_CCH.

pcch

[out] Указатель на переменную типа size_t, содержащую число символов в psz, исключая символ завершающего нуля. Это значение применяется только тогда, если pcch, не нуль и функция завершается успешно.

Возвращаемое значение

Обратите внимание! на то, что эта функция возвращает HRESULT в противоположность функции strlen, которая возвращает целое число. Настоятельно рекомендуется, что Вы использовали макроопределения SUCCEEDED и FAILED, чтобы проверить возвращаемое значение этой функцией.

 

Значение

Предназначение

S_OK Строка в psz была не нулевой, а длина строки (включая символ завершающего нуля) меньше чем, или равен cchMax символам.
STRSAFE_E_INVALID_PARAMETER Значение в psz - NULL, cchMax больше, чем STRSAFE_MAX_CCH, или psz более длинный, чем cchMax.

Замечания

Функция StringCchLength - дополнительное инструментальное средство для правильной обработки буфера в Вашем коде. Недостаточная обработка буфера влечет за собой во многие проблемы обеспечения безопасности, которые вызывают переполнение буфера.

Функция StringCchLength может быть использована в своей общей форме, или в специальной, такой как StringCchLengthA (для строк ANSI) или StringCchLengthW (для строк Unicode). Форма использования определяется Вашими данными.

Тип строковых данных

Строковый литерал

Функция

char "string" StringCchLengthA
TCHAR TEXT("string") StringCchLength
WCHAR L"string" StringCchLengthW

Смотри также

Обзор Строки, Функции, используемые строкамиStringCbLength

 

Размещение и совместимость StringCchLength

К Windows XP Да
л Windows 2000 Professional Да
и Windows NT Workstation Да версии 3.1
е Windows Me Да
н Windows 98 Да
т Windows 95 Да
 
С Windows Server 2003 Да
е Windows 2000 Server Да
р Windows NT Server Да версии 3.1
в    
е    
р    
Используемая библиотека strsafe.lib
Используемая DLL -
Заголовочный файл  
- объявлено в strsafe.h
- включено в -
Unicode Реализуются как версии Unicode и ANSI.
Замечания по платформе Не имеется

 

Назад в оглавление
На главную страницу
В оглавление справки

Hosted by uCoz