Szerző Téma: [ Leírás ]Sztringkezelõ függvények  (Megtekintve 8140 alkalommal)

Nem elérhető ZeRo

  • 4620
  • Ex Globális Moderátor
    • Profil megtekintése
[ Leírás ]Sztringkezelõ függvények
« Dátum: 2010. február 22. - 19:05:39 »
+2 Show voters

Sztringkezelõ függvények
 
 
Az strlen függvény:
Funkciója:
Az strlen függvény segítségével lekérdezhetjük az általunk megadott karakterlánc hosszúságát( karaktereinek számát ).
Paraméter( ek ):
 

  • string[  ] = A karakterlánc, aminek a méretére kíváncsiak vagyunk.

Visszatérési értéke:
A függvény visszatérési értéke a karakterlánc karaktereinek száma.
Példa:
Az alábbi eljárásban lekérdezzük a \'strlen\' karakterlánc hosszúságát, és ha az egyenlõ 6 - tal, akkor visszatérünk az 1 értékkel.
 

public OnFilterScriptInit(  ) {
if( strlen( \"strlen\" ) == 6 ) return 1;
return 0;
}

 


Az strcat függvény:
Funkciója:
Az strcat függvény két általunk megadott karakterláncot fûz össze, és az így keletkezett sztringgel tér vissza.
Paraméter( ek ):
 

  • dest[  ] = A karakterlánc, amihez hozzáfûzzük a másik karakterláncot.


  • source[  ] = A karakterlánc, amit hozzáfûzzük a másik karakterlánchoz.


  • maxlength[  ] = A célkaraktertömb maximális hosszúsága. Ezt nem kötelezõ megadnunk, hiszen a függvény alapból rendel hozzá értéket( a célkaraktertömb méretét ).


Visszatérési értéke:
A függvény visszatérési értéke az összecsatolt karakterlánc( dest ).
Példa:
Az alábbi eljárásban összefûzünk két sztringet, és kiíratjuk a konzolba.
 

public OnFilterScriptInit(  ) {
new szDest[ 20 ] = \"Megtanultam az \",
    szSrc[ 20 ] = \"strcat függvényt!\";
strcat( szDest, szSrc, sizeof szDest + sizeof szSrc ); //Az alapértelmezett hely nem lett volna elegendo, így módosítottam.
print( szDest );
}

 


Az strmid függvény:
Funkciója:
Az strmid függvény segítségével egy karakterlánc általunk megadott szakaszát egy célkarakterláncba másolhatjuk.
Paraméter( ek ):
 

  • dest[  ] = A célkarakterlánc( amibe másoljuk a másik karakterláncot ).


  • source[  ] = A karakterlánc, amibõl másolunk a célkarakterláncba.


  • start = A másolás kezdõpontja( karaktere ).


  • end = A másolás végpontja( karaktere ).


  • maxlength[  ] = A célkaraktertömb maximális hosszúsága. Ezt nem kötelezõ megadnunk, hiszen a függvény alapból rendel hozzá értéket( a célkaraktertömb méretét ).


Visszatérési értéke:
A függvény visszatérési értéke a célkarakterlánc lesz.
Példa:
Az alábbi eljárásban a \'szSrc\' sztringbol kimásolunk 4 karaktert a \'szDest\' sztringbe, majd kiíratjuk a konzolba( meglepo eredménnyel ;) ).
 

public OnFilterScriptInit(  ) {
new szSrc[ 32 ] = \"Ezt a leírást ZeRo írta.\",
    szDest[ 12 ];
strmid( szDest, szSrc, 14, 19 );
print( szDest );
}

 


Az strdel függvény:
Funkciója:
Az strdel függvény segítségével egy karakterlánc általunk megadott szakaszát törölhetjük.
Paraméter( ek ):
 

  • string[  ] = A karakterlánc, amiben törlünk.


  • start = A törlés kezdõpontja( karaktere ).


  • end = A törlés végpontja( karaktere ).


Visszatérési értéke:
A függvény visszatérési értéke az \'új\' sztring lesz, amibõl töröltünk.
Példa:
Az alábbi eljárásban a \'szStr\' sztringbõl kitöröljük az elsõ 3 karaktert( az eredmény \'del\' lesz ).
 

public OnFilterScriptInit(  ) {
new szStr[ 7 ] = \"Strdel\";
strdel( szStr, 0, 3 );
print( szStr );
}

 


Az strcmp függvény:
Funkciója:
Az strcmp függvény segítségével összehasonlíthatunk két karakterláncot.
Paraméter( ek ):
 

  • string1[  ] = Az egyik karakterlánc.


  • string2[  ] = A másik karakterlánc.


  • ignorecase = Logikai értékû paraméter( Hamis[ false ], vagy igaz [ true ], azaz 0, vagy 1 ), ha az értéke igaz( 1 ), akkor az összehasonlításban a kis-, és nagybetûket nem fogja különbségnek számítani.


  • length = Az összehasonlítás végpontja( karaktere ). Ezt a paramétert nem muszáj megadnunk, hiszen alapértelmezett értéke a sztring( ek ) hosszúsága.


Visszatérési értéke:
A függvény visszatérési értéke 0, ha a két sztring egyezik, és valamilyen más szám, ha nem egyeznek.
Példa:
Az alábbi eljárásban összehasonlítunk két karakterláncot; Ha egyeznek, akkor igaz értékkel, ha nem, hamis értékkel térünk vissza( Itt: A visszatérési érték igaz lesz ).
 

public OnFilterScriptInit(  ) {
if( strcmp( \"Ez hasznos függvény\", \"ez HasznoS FüGGvénY\", true ) == 0 ) return true;
else return false;
}

 


Az strfind függvény:
Funkciója:
Az strfind függvény segítségével ellenõrizhetjük, hogy egy adott karakterlánc megtalálható - e egy másikban.
Paraméter( ek ):
 

  • string[  ] = A karakterlánc, amit keresünk.


  • sub[  ] = A karakterlánc, amiben keresünk.


  • ignorecase = Logikai értékû paraméter( Hamis[ false ], vagy igaz [ true ], azaz 0, vagy 1 ), ha az értéke igaz( 1 ), akkor az összehasonlításban a kis-, és nagybetûket nem fogja különbségnek számítani.


  • pos = A keresés kezdõpontja( karaktere ). Alapértelmezett értéke van, a karakterlánc eleje.


Visszatérési értéke:
A függvény visszatérési értéke
 

  • -1, ha a \'string\' karakterlánc nincs benne a \'sub\' sztringben


  • Egy indexszám( nem -1 ), ami a találat kezdõpontjára( karakterére ) mutat.


Példa:
Az alábbi példában igaz értékkel térünk vissza, ha az \'Értem a strfind függvényt\' karakterláncban megtaláljuk a \'strfind\' sztringet.
 

public OnFilterScriptInit(  ) {
if( strfind( \"Értem a strfind függvényt\", \"StRFinD\" ) ) return true;
return false;
}

 


Az strval függvény:
Funkciója:
Az strval függvény segítségével egy karakterláncot integerré( egész számmá ) konvertálhatunk.
Paraméter( ek ):
 

  • string[  ] = A karakterlánc, amit konvertálni szeretnénk.

Visszatérési értéke:
A függvény visszatérési értéke a megadott sztring egész számú alakja lesz.
Példa:
Az alábbi példában kiíratjuk a \'2314\' sztringet, majd annak az átkonvertált alakját.
 

public OnFilterScriptInit(  ) {
new szStr[ 12 ] = \"2314\",
        iStr = strval( szStr );
    print( szStr );
printf( \"%i\", iStr );
return 1;
}

 
Mivel az eredmény ugyanaz, megmutatnám azoknak, akinek nem esett le, hogy mire is jó ez. Az elõzõ példát módosítva láthatjuk.
 

public OnFilterScriptInit(  ) {
    new szStr[ 12 ] = \"2314\",
        iStr = strval( szStr );
if( iStr == 2314 ) print( \"Annyi\" ); //Helyes
if( szStr == 2314 ) print( \"Annyi\" ); //Helytelen
return 1;
}

 


A valstr függvény:
Funkciója:
A valstr függvény segítségével egy számot konvertálhatunk karakterlánc alakba.
Paraméter( ek ):
 

  • dest[  ] = A karakterlánc, ahova konvertálni szeretnénk.


  • value = Az érték, amit konvertálni szeretnénk.


  • pack = Logikai értékû paraméter( Hamis[ false ], vagy igaz [ true ], azaz 0, vagy 1 ), ha az értéke igaz( 1 ), akkor \'csomagolja\' az értéket( hivatkozhatunk rá az ispacked, strunpack függvényekkel ).


Visszatérési értéke:
A függvény visszatérési értéke a megadott szám karakterlánc alakja lesz.
Példa:
Az alábbi példában a 2010 számot sztringgé alakítjuk.
 

public OnFilterScriptInit(  ) {
new szDest[ 6 ];
valstr( szDest, 2010 );
return 1;
}

 



A leírást még bûvíteni fogom néhány függvénnyel!
 
 

« Utoljára szerkesztve: 2011. február 05. - 17:26:19 írta ZeRo »

[ Leírás ]Sztringkezelõ függvények
« Válasz #1 Dátum: 2010. február 25. - 19:30:04 »
0 Show voters
Értheto és szép tut, mint mindig :D
Grat

Nem elérhető ZeRo

  • 4620
  • Ex Globális Moderátor
    • Profil megtekintése
[ Leírás ]Sztringkezelõ függvények
« Válasz #2 Dátum: 2010. február 25. - 21:50:22 »
0 Show voters
Kössz.  ;)
ZeRo

Nem elérhető Stray

  • 617
    • Profil megtekintése
[ Leírás ]Sztringkezelõ függvények
« Válasz #3 Dátum: 2010. február 26. - 18:00:47 »
0 Show voters
Ez jól jött ..Szép munka ;)

Nem elérhető ZeRo

  • 4620
  • Ex Globális Moderátor
    • Profil megtekintése
[ Leírás ]Sztringkezelõ függvények
« Válasz #4 Dátum: 2010. február 26. - 18:36:32 »
0 Show voters
Köszönöm.
ZeRo

jana4

  • Vendég
[ Leírás ]Sztringkezelõ függvények
« Válasz #5 Dátum: 2010. február 26. - 22:20:02 »
0 Show voters
az strcat függvényt soha sem értettem, kösz, jól jött, az strcatet viszont használni is fogom.  ;)

Nem elérhető ZeRo

  • 4620
  • Ex Globális Moderátor
    • Profil megtekintése
[ Leírás ]Sztringkezelõ függvények
« Válasz #6 Dátum: 2010. február 26. - 22:20:21 »
0 Show voters
Örülök, ha segített.  ;)
ZeRo

Nem elérhető Csabesz

  • 7827
    • Profil megtekintése
[ Leírás ]Sztringkezelõ függvények
« Válasz #7 Dátum: 2010. február 26. - 23:24:47 »
0 Show voters
Szép leírás, Grat!
Kiegészítésnek strncpy-t ajánlom..  ;)
··Én használom  8)

Nem elérhető ZeRo

  • 4620
  • Ex Globális Moderátor
    • Profil megtekintése
[ Leírás ]Sztringkezelõ függvények
« Válasz #8 Dátum: 2010. február 27. - 18:58:08 »
0 Show voters
Kössz, szerintem ma bovítem még pár függvénnyel.


Foposzt bovítve 3 függvénnyel! ( strfind, strval, valstr )
 
ZeRo

Nem elérhető Epsilon

  • 1854
    • Profil megtekintése
[ Leírás ]Sztringkezelõ függvények
« Válasz #9 Dátum: 2010. február 28. - 18:14:02 »
0 Show voters
valamilyen más szám[/quote]
Nem tudom, hogy ez most tudásod hiánya, vagy egyszeru luxus, de szerintem így nem csoda, ha egy-egy függvény használati lehetosége csökken, hisz kevés az információ róla. (Azoknak akik lusták vagy nem értenek angolul)
Amúgy szerintem haszon kis leírás. ;)
« Utoljára szerkesztve: 2010. február 28. - 18:19:37 írta Epsilon »

[ Leírás ]Sztringkezelõ függvények
« Válasz #10 Dátum: 2010. február 28. - 23:14:36 »
0 Show voters
stock strcpy( dest[  ], const source[  ], max = 255, len = -1 )
{
new i;
if( len == -1 ) len = strlen( source );
while( i < len && i < max && ( dest[ i ] = source[ i ] ) ) i++;
dest[ i == max ? i - 1 : i ] = 0;
}

 
Ez a függvény átmásolja a célsztringbe (dest) a forrássztringet (source). A max paraméter a másolás hosszát (?), a len pedig a forrássztring hosszát szolgálja.
Én igazság szerint a függvényt így írnám meg:
 
stock strcpy( dest[  ], const source[  ], max = 255 )
{
new i, length = strlen( source );
while( i < length && i < max && ( dest[ i ] = source[ i ] ) ) i++;
dest[ i == max ? i - 1 : i ] = 0;
}

Nem elérhető Iceaac

  • 2187
    • Profil megtekintése
[ Leírás ]Sztringkezelõ függvények
« Válasz #11 Dátum: 2010. május 26. - 12:54:49 »
0 Show voters
GS, nem muxik.. :O

Nem elérhető jana4

  • 5929
  • Ex Staff
    • Profil megtekintése
[ Leírás ]Sztringkezelõ függvények
« Válasz #12 Dátum: 2011. február 05. - 15:50:04 »
0 Show voters
Most végigteszteltem az egész kis kódokat amit leírtál ZeRo, ebbõl az strdeles rossz, mert a string 6 karakterû, igaz, te is 6 karakterût hoztál létre, csak nem számoltál a legelsõ értékkel, a 0-val.  :)
így new szStr[7] = \"Strdel\";
Üdv  :)

Nem elérhető ZeRo

  • 4620
  • Ex Globális Moderátor
    • Profil megtekintése
[ Leírás ]Sztringkezelõ függvények
« Válasz #13 Dátum: 2011. február 05. - 17:29:08 »
0 Show voters
Igaz, mert annak idején nem a Pawnoban írtam ezeket, hanem egybõl ide a szövegdobozba, és hát elkerülte a figyelmemet. :D Kösz, hogy szóltál. ;)
És örülök, hogy valaki ennyire részletesen megnézte a leírásom. :shy:

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal