StringLength

Описание: Пограммы для скриптеров
Модератор: SJplayer

Дим M
Автор темы, Администратор
Администратор
Аватара
Дим M
Автор темы, Администратор
Администратор
Сообщения: 1608
Зарегистрирован: 5 апреля 2013
С нами: 10 лет 11 месяцев

#1 Дим » 5 мая 2013, 19:30

StringLength
Автор: Daniel_Cortez

Изображение


Эта простенькая программа предназначена для быстрого определения длины строки.
Уже давно не секрет, что указывать строки типа

Код: Выделить всё

new string[256];  


довольно-таки глупо, поскольку
1. Расходуется лишнее место в стеке, что грозит его переполнением.
2. Тратится лишнее время на инициализацию всех символов строки значением '\0'.
При этом подсчитывать длину строки вручную просто нудно.
Именно для таких целей и была создана программа StringLength: просто копируете строку из pawno, вставляете её в программу - и вуоля!

Изображение


Примеры использования
Пример 1. Дана строка "пример строки":
Изображение


Просто берём длину строки, полученную из программы, ОБЯЗАТЕЛЬНО прибавляем 1 (символ конца строки - '\0') и пишем код:

Код: Выделить всё

new string[14] = "пример строки";  


Пример 2. Определить имя игрока и сделать строку в формате "Имя игрока: <имя>":
Сначала объявляем строку для сохранения имени игрока:

Код: Выделить всё

new name[MAX_PLAYER_NAME+1];  


1 - определяем длину отрывка "Имя игрока: " (12)

Изображение


2 - складываем полученную длину с максимальной длиной имени игрока (MAX_PLAYER_NAME)
3 - прибавляем к результату 1 (завершающий символ '\0')
Получаем строковую переменную:

Код: Выделить всё

new string[12+MAX_PLAYER_NAME+1];  


4 - берём готовую строковую переменную, добавляем ещё одну для хренения имени игрока (name), затем используем GetPlayerName() для получения имени игрока и format() для соединения строк:

Код: Выделить всё

new string[12+MAX_PLAYER_NAME+1];
new 
name[MAX_PLAYER_NAME+1];
GetPlayerName(playeridnamesizeof(name));
format(stringsizeof(string), "Имя игрока: %s"name);  


Примечание: длина "%s" не учтена, т.к. на место этого отрывка строки будет подставлено имя игрока, длину которого уже учли.

Кроме того, программа также умеет распознавать и правильно определять длину строки с такими символами, как '\n', '\t', '\0' и т.п.

Изображение

Изображение


Скачать: RGhost
[center]i love you [s]mxIni[/s] Mysql[/center]


Вернуться в «Пограммы для скриптеров»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 3 гостя