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

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

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

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

APP StringLength

Daniel_Cortez

Компетентный
StringLength​
by Daniel_Cortez​



Здравствуйте, ув. форумчане pawno-info, позвольте представить вам программу StringLength.


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


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

Просто берём длину строки, полученную из программы, ОБЯЗАТЕЛЬНО прибавляем 1 (символ конца строки - '\0') и пишем код:
PHP:
new string[14] = "пример строки";
Пример 2. Определить имя игрока и сделать строку в формате "Имя игрока: <имя>":
Сначала объявляем строку для сохранения имени игрока:
PHP:
new name[MAX_PLAYER_NAME+1];
1 - определяем длину отрывка "Имя игрока: " (12)

2 - складываем полученную длину с максимальной длиной имени игрока (MAX_PLAYER_NAME)
3 - прибавляем к результату 1 (завершающий символ '\0')
Получаем строковую переменную:
PHP:
new string[12+MAX_PLAYER_NAME+1];
4 - берём готовую строковую переменную, добавляем ещё одну для хренения имени игрока (name), затем используем GetPlayerName() для получения имени игрока и format() для соединения строк:
PHP:
new string[12+MAX_PLAYER_NAME+1];
new name[MAX_PLAYER_NAME+1];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "Имя игрока: %s", name);
Примечание: длина "%s" не учтена, т.к. на место этого отрывка строки будет подставлено имя игрока, длину которого уже учли.

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


Автор: Daniel_Cortez
Ссылка на скачивание:
VirusTotal:

Где-то я может быть немного тупил, где-то что-то объяснил не так, буду рад выслушать ваши комментарии в этой теме.​
 
Последнее редактирование:
Сверху Снизу