Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include "dynmem"
- public OnFilterScriptInit()
- {
- // Пример записи строки в память и последующего ее чтения оттуда
- new str[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
- new buf[100]; // буфер для хранения результата
- new Pointer:ptr = mem_allocate(sizeof(str));
- if (ptr == NULL)
- {
- // Если mem_allocate возвращает NULL,
- // память не была выделена
- print("Error!!1");
- return 0;
- }
- mem_set(ptr, str);
- mem_get(ptr, buf);
- printf(buf);
- // По окончании использования следует освободить выделенную память
- mem_free(ptr);
- /////////////////////////////////////////////////////////////////////
- // Похожий пример, здесь строка записывается по частям
- // В данном случае память выделяется сразу при
- // создании указателя с помощью спец. макроса (см. в инклуде)
- new Pointer:p<100>; // Выделили 100 ячеек
- if (p == NULL)
- {
- // Если mem_allocate возвращает NULL,
- // память не была выделена
- print("Error!!1");
- return 0;
- }
- mem_set(p, "первая строка\n");
- mem_set(p, "вторая строка\n", 14);
- mem_set(p, "третья\n", 28);
- mem_set(p, "и четвертая!\n", 35);
- mem_get(p, buf, 0);
- print(buf);
- // По окончании использования следует освободить выделенную память
- mem_free(p);
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement