Half-Life и Adrenaline Gamer форум

Всё об игре в Халф-Лайф и АГ
Текущее время: 28 апр 2024, 12:57

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 24 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Re: ошибка с nickblock.amxx
СообщениеДобавлено: 28 авг 2011, 00:03 
Не в сети
Аватара пользователя
Зарегистрирован:
24 янв 2011, 03:32
Последнее посещение:
09 дек 2021, 03:04
Сообщения: 756
Откуда: Futurama
unnamed
я знаю что charsmax(bad_nick_name) вернет 31, а последний символ 0 да, конец строки, 0 под индексом 32. В пример могу привести вот это, 24 элемента в массиве и размерность 24 (нумерация начинается с 0, 23 - индекс последнего элемента, 24 конец строки)
 код


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: ошибка с nickblock.amxx
СообщениеДобавлено: 28 авг 2011, 12:43 
Не в сети
Аватара пользователя
Зарегистрирован:
01 июн 2010, 23:25
Последнее посещение:
05 июл 2018, 16:02
Сообщения: 1035
Turanga_Leela писал(а):
я знаю что charsmax(bad_nick_name) вернет 31, а последний символ 0 да, конец строки, 0 под индексом 32.

в массиве new array[32] нету элемента с индексом 32. Последний элемент имеет индекс 31. А строка может занимать индексы 0-30. Т.е. 31 символ.

Попробуй:

Код:
public plugin_init()
{
   register_plugin("...", "...", "...");
   new string[32] = "qwertyuiopasdfghjklzxcvbnmqwerty" // строка в 32 символа
}

посмотри что скажет компилятор

_________________
Изображение


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: ошибка с nickblock.amxx
СообщениеДобавлено: 28 авг 2011, 13:36 
Не в сети
Аватара пользователя
Зарегистрирован:
24 янв 2011, 03:32
Последнее посещение:
09 дек 2021, 03:04
Сообщения: 756
Откуда: Futurama
unnamed
:o charsmax() вернет 32 соответственно кол-ву элементов. А под 31 индексом "y" - последний символ строки. Но ! истинная размерность массива 33
 код


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: ошибка с nickblock.amxx
СообщениеДобавлено: 28 авг 2011, 14:01 
Не в сети
Аватара пользователя
Зарегистрирован:
01 июн 2010, 23:25
Последнее посещение:
05 июл 2018, 16:02
Сообщения: 1035
Ты мой пример проверил?

_________________
Изображение


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: ошибка с nickblock.amxx
СообщениеДобавлено: 28 авг 2011, 14:02 
Не в сети
Аватара пользователя
Зарегистрирован:
24 янв 2011, 03:32
Последнее посещение:
09 дек 2021, 03:04
Сообщения: 756
Откуда: Futurama
unnamed
Глянь код, это твой пример с выводами результатов на экран


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: ошибка с nickblock.amxx
СообщениеДобавлено: 28 авг 2011, 14:05 
Не в сети
Аватара пользователя
Зарегистрирован:
01 июн 2010, 23:25
Последнее посещение:
05 июл 2018, 16:02
Сообщения: 1035
Это не мой пример. Поэтому и не работает как должен.
Я разве использовал безразмерный массив?
Я явно указал размер - 32.
Как и в плагине - new bad_nick_name[32]
В него помещается строка длиной 31 символ.

_________________
Изображение


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: ошибка с nickblock.amxx
СообщениеДобавлено: 28 авг 2011, 14:09 
Не в сети
Аватара пользователя
Зарегистрирован:
24 янв 2011, 03:32
Последнее посещение:
09 дек 2021, 03:04
Сообщения: 756
Откуда: Futurama
unnamed
Пример работает как должен )). Это сделал для наглядности, не важно 32 или 33 размерность, главное ты прав :wink:


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: ошибка с nickblock.amxx
СообщениеДобавлено: 28 авг 2011, 15:52 
Не в сети
Аватара пользователя
Зарегистрирован:
01 июн 2010, 23:25
Последнее посещение:
05 июл 2018, 16:02
Сообщения: 1035
Turanga_Leela писал(а):
Пример работает как должен ))

Мой пример вообще не должен работать :)

_________________
Изображение


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: ошибка с nickblock.amxx
СообщениеДобавлено: 28 авг 2011, 16:11 
Не в сети
Аватара пользователя
Зарегистрирован:
24 янв 2011, 03:32
Последнее посещение:
09 дек 2021, 03:04
Сообщения: 756
Откуда: Futurama
unnamed
Работает если размерность зачикать :oops:


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: ошибка с nickblock.amxx
СообщениеДобавлено: 28 авг 2011, 16:13 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
27 апр 2024, 13:55
Сообщения: 6867
Развели тут на целую страницу... хД

На всякий случай: charsmax() это макрос на sizeof() - 1, т.е. возвращает размер массива минус 1, чтобы всегда было место для нуля в конце.


Вернуться к началу
 Профиль 
  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 24 ]  На страницу Пред.  1, 2, 3  След.

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB