Возвращает длину (в байтах) заданной строки, оканчивающейся нуль-символом.
int _StrLen(char FAR *string) char FAR *string; /* Измеряемая строка. */ |
Пример
Следующий пример аналогичен функции Visual FoxPro LEN( ), но он не обрабатывает строки с внутренними символами '\0'.
Код Visual FoxPro
Copy Code | |
---|---|
SET LIBRARY TO STRLEN ? STRLEN("Hello") && returns 5 |
Код C
Copy Code | |
---|---|
#include <pro_ext.h> void NullTerminate(Value FAR *cVal) { if (!_SetHandSize(cVal->ev_handle, cVal->ev_length + 1)) { _Error(182); // "Insufficient memory" } ((char FAR *) _HandToPtr(cVal->ev_handle))[cVal->ev_length] = '\0'; } FAR Example(ParamBlk FAR *parm) { NullTerminate(&parm->p[0].val); _HLock(parm->p[0].val.ev_handle); _RetInt(_StrLen(_HandToPtr(parm->p[0].val.ev_handle)), 10); _HUnLock(parm->p[0].val.ev_handle); } FoxInfo myFoxInfo[] = { {"STRLEN", (FPFI) Example, 1, "C"}, }; FoxTable _FoxTable = { (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo }; |
Смотрите также
Справочное руководство
Процедура библиотеки API _StrCmp( )Процедура библиотеки API _StrCpy( )
Функция LEN( )
Процедуры манипуляции строками