Szerző Téma: strpack  (Megtekintve 826 alkalommal)

Nem elérhető BoOy

  • 3209
  • 2013-as év szkriptere
    • Profil megtekintése
strpack
« Dátum: 2013. Augusztus 30. - 17:02:47 »
0 Show voters
strpack
Ez a funkció betudja csomagolni a karakterláncokat. Majdnem úgy mûködik mint a format.


Paraméterek:
 
(dest[],const source[],maxlength=sizeof dest)

 
dest[]    -   a csomag neve, amibe elszeretnénk menteni a karakterláncot.
const source[]    -   Az eredeti karakterlánc.
maxlength=sizeof dest    -   A karakterlánc maximális mérete.
Visszatérések:
A funkció visszatérési értéke, a becsomagolt karakterek száma.
Példa:
 
strpack(string, \"Hali. Mizu?\");

 
Hozzátartozó funkciók:
<A HREF=\"http://wiki.sa-mp.com/wiki/strcmp\">strcmp</A>: Összehasonlít két karakterláncot, hogy ugyanaz-e.
<A HREF=\"http://wiki.sa-mp.com/wiki/strfind\">strfind</A>: Megkeresi a karakterlánc egy részletét, a másik karakterláncba.
<A HREF=\"http://wiki.sa-mp.com/wiki/strtok\">strtok</A>: Megkeresi a változó típusa utáni helyét.
<A HREF=\"http://wiki.sa-mp.com/wiki/strdel\">strdel</A>: Törli a karakterlánc egy részét, vagy az egészet.
<A HREF=\"http://wiki.sa-mp.com/wiki/strins\">strins</A>: A karakterlánchoz hozzátesz még 1 karakterlánc részt.
<A HREF=\"http://wiki.sa-mp.com/wiki/strlen\">strlen</A>: Ellenõrzi a karakterlánc hosszát.
<A HREF=\"http://wiki.sa-mp.com/wiki/strmid\">strmid</A>: Kibontja a karaktereket a karakterláncból.
<A HREF=\"http://wiki.sa-mp.com/wiki/strval\">strval</A>: Megkeresi az egész számokat a karakterláncból.
<A HREF=\"http://wiki.sa-mp.com/wiki/strcat\">strcat</A>: Kapcsolatot teremt 2 karakterlánc között.
Eredeti téma:
http://wiki.sa-mp.com/wiki/Strpack


Egy kis észrevétel(megjegyzés):
Az elején ugye írtam olyan mint a format funkció. A Rátaláltam egy észrevételre, témája hogy: \"Melyik gyorsabb! Az strpack vagy a format?\"
 
#include <a_samp>
main()
{
    new
        StartTick,
        StopTick,
        string[16],
        string2[16];
    format(string2, 17, \"I like big butts\");
    StartTick = GetTickCount();
    for(new i; i < 1000000; i++)
    {
        format(string, 17, string2);
    }
    StopTick = GetTickCount();
    printf(\"format: %d ms\", StopTick-StartTick);
    StartTick = GetTickCount();
    for(new i; i < 1000000; i++)
    {
        strpack(string, string2, 17);
    }
    StopTick = GetTickCount();
    printf(\"strpack: %d ms\", StopTick-StartTick);
    return 1;
}

 
Eredmény:
format: 319 milliszekundum(ezredmásodperc)

strpack: 137 milliszekundum(ezredmásodperc)
« Utoljára szerkesztve: 2013. Augusztus 30. - 17:09:54 írta SnooP »

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
strpack
« Válasz #1 Dátum: 2013. Augusztus 30. - 20:21:09 »
0 Show voters
Nem épp sok köze van a format()-hoz.
format() string formázására van, ez pedig arra, hogy becsomagold.
Ugyebár a csomagolt stringben bájtonként vannak a karakterek, 1cella ott 4 karakter, míg a csomagolatlan stringben 1cella (4bájt) 1 karakter. Ezt viszont sok függvény nem támogatja, de globális stringekre, string tömbökre használni nagy spórolás. (Lehet a lokálisakra is, de én konkrétan csak a globálisokra szoktam.)

Nem elérhető BoOy

  • 3209
  • 2013-as év szkriptere
    • Profil megtekintése
strpack
« Válasz #2 Dátum: 2013. Augusztus 30. - 20:37:33 »
0 Show voters
Idézetet írta: kurta999 date=1377886869\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"42194\" data-ipsquote-contentclass=\"forums_Topic
Nem épp sok köze van a format()-hoz.
format() string formázására van, ez pedig arra, hogy becsomagold.
Ugyebár a csomagolt stringben bájtonként vannak a karakterek, 1cella ott 4 karakter, míg a csomagolatlan stringben 1cella (4bájt) 1 karakter. Ezt viszont sok függvény nem támogatja, de globális stringekre, string tömbökre használni nagy spórolás. (Lehet a lokálisakra is, de én konkrétan csak a globálisokra szoktam.)
 
Köszönöm, hogy megértetted velem :D

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal