Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

C++ Исходник strcmp

Статус
В этой теме нельзя размещать новые ответы.

Salvage

Специалист
Автор: Y_Less

PHP:
static int compare(cell *cstr1,cell *cstr2,int ignorecase,int length,int offs1) 
{ 
  int index; 
  cell c1=0,c2=0; 

  for (index=0; index<length; index++) { 
    c1=extractchar(cstr1,index+offs1,ignorecase); 
    c2=extractchar(cstr2,index,ignorecase); 
    assert(c1!=0 && c2!=0); /* string lengths are already checked, so zero-bytes should not occur */ 
    if (c1!=c2) 
      break; 
  } /* for */ 

  if (c1<c2) 
    return -1; 
  if (c1>c2) 
    return 1; 
  return 0; 
} 

/* strcmp(const string1[], const string2[], bool:ignorecase=false, length=cellmax) 
 */ 
static cell AMX_NATIVE_CALL n_strcmp(AMX *amx,cell *params) 
{ 
  cell *cstr1,*cstr2; 
  int len1,len2,len; 
  cell result; 

  amx_GetAddr(amx,params[1],&cstr1); 
  amx_GetAddr(amx,params[2],&cstr2); 

  /* get the maximum length to compare */ 
  amx_StrLen(cstr1,&len1); 
  amx_StrLen(cstr2,&len2); 
  len=len1; 
  if (len>len2) 
    len=len2; 
  if (len>params[4]) 
    len=params[4]; 
  if (len==0) 
    return 0; 

  result=compare(cstr1,cstr2,params[3],len,0); 
  if (result==0 && len!=params[4]) 
    result=len1-len2; 
  return result; 
}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу