StringLength

Description: Пограммы для скриптеров
Moderator: SJplayer

Дим M
Topic author, Администратор
Администратор
Avatar
Дим M
Topic author, Администратор
Администратор
Posts: 1611
Joined: 5 Apr 2013
With us: 11 years 5 months

#1by Дим » 5 May 2013, 19:30

StringLength
Автор: Daniel_Cortez

Image


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

Code: Select all

new string[256];  


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

Image


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


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

Code: Select all

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


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

Code: Select all

new name[MAX_PLAYER_NAME+1];  


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

Image


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

Code: Select all

new string[12+MAX_PLAYER_NAME+1];  


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

Code: Select all

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' и т.п.

Image

Image


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


Return to “Пограммы для скриптеров”

Who is online (over the past 5 minutes)

Users browsing this forum: 1 guest