Странное поведение StrEqual

Тема в разделе "Программирование / Скриптинг", создана пользователем (admiral), 27 окт 2013.

  1. (admiral)

    (admiral)

    Сообщения:
    69
    Симпатии:
    8
    Есть кусок кода:
    Код:
    stock FindStringInArrayEx(Handle:arr, const String:value[], start=0)
    {
    	new size = GetArraySize(arr);
    	decl String:buffer[255];
    	for (new i = start; i < size; i++)
    	{
    		GetArrayString(arr, i, buffer, sizeof(buffer));
    		if (StrEqual(value, buffer, false))
    		{
    			PrintToServer("Return %d", i);
    			return i;
    		}
    		else
    			PrintToServer("%s != %s", value, buffer);
    	}
    	return -1;
    }
    В консоль пишет zm_mini_building_v6 != zm_mini_building_v6
    Что за бред? В чем я ошибся?
     
  2. semjef

    semjef semjef.ru

    Сообщения:
    1.031
    Симпатии:
    473
    посмотри на вывод от PrintToServer("(%s) != (%s)", value, buffer);
    будет более явно виден косяк
    не наблюдал раньше неверной работы этой функции
     
    (admiral) нравится это.
  3. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    893
    Симпатии:
    659
    Попробуй использовать if (strcmp(value, buffer, false) == 0)
     
    (admiral) нравится это.
  4. (admiral)

    (admiral)

    Сообщения:
    69
    Симпатии:
    8
    Спасибо большое за помощь, мой косяк был в том, что я не удалил пробелы после второй строки.