strpack

Материал из Pro-Pawn Wiki
Перейти к: навигация, поиск

Описание:

Упаковывает строку.

Параметры:

(dest[], const source[], maxlength=sizeof dest)
dest[] Массив для записи упакованной строки.
const source[] Строка, которую нужно упаковать (может быть уже упакованной - в этом случае функция просто скопирует строку).
maxlength Размер массива dest (необязательный параметр).


Возвращаемое значение:

Длина упакованной строки.

Info rhombus.png
Примечание
Функция сохраняет строку в массиве dest в упакованном виде. Некоторые функции SA-MP, такие как printf() и format(), не умеют правильно работать с упакованными строками, поэтому вам может понадобиться распаковать строку с помощью strunpack(), прежде чем использовать её в одной из упомянутых функций.


Пример использования:

PrintPackStatus(const name[], const string[])
{
    printf("Строка %s %sупакована", name, ispacked(string) ? "" : "не ");
}

main()
{
    // Строка str1 упакована, а str2 объявлена в неупакованном виде.
    new str1[] = !"abcd";
    new str2[] = "efgh";

    // Выведем информацию о том, упакованы ли строки
    PrintPackStatus("str1", str1); // "Строка str1 упакована"
    PrintPackStatus("str2", str2); // "Строка str2 не упакована"

    // Теперь распакуем str1 и, наоборот, упакуем str2
    strpack(str1, str1);
    strunpack(str2, str2);

    // Выведем информацию об упакованности строк ещё раз
    PrintPackStatus("str1", str1); // "Строка str1 не упакована"
    PrintPackStatus("str2", str2); // "Строка str2 упакована"
}


См. также: