Peršokti į turinį

Teksto ilgio apskaičiavimas


ES.^

Recommended Posts

Teksto ilgio apskaičiavimas


Sveiki. Pastebėjau, kad daug žmonių nemoka apskaičiuoti string'ų ilgių, tai sugalvojau parašyti pamoką. Šioje pamokoje paaiškinsiu kaip lengvai, greitai ir teisingai apskaičiuoti string'o ilgį. Šią pamoką mačiau, bet manau ji nelabai aiški.

Pasiimame bet kokį string'ą, pvz:

Ping: %d, Score: %d, Money: %d

Pilnas kodas atrodys pvz taip:
new str[50]; // sukuriame masyvą
format(str, 50, "Ping: %d, Score: %d, Money: %d", GetPlayerPing(playerid), GetPlayerScore(playerid), GetPlayerMoney(playerid)); // formatuojame ir įrašome tekstą į masyvą
Suskaičiuojame visus simbolius, be specifikatorių (%d, %s, %f ir t.t).

Ping: , Score: , Money:

- rezultatas: 24 simboliai.
Toliau, reikia suskaičiuoti galimą maksimalų simbolių skaičių kiekvieno specifikatoriaus išvestą informaciją.
Ping - 5 simboliai (todėl, kad maksimalus ping yra: 65535 (jeigu neklystu)).
Score - 10 simbolių (todėl, kad 32 bit'ų sistema daugiau nepalaiko (jeigu klystu, pataisykite)).
Money - 10 simbolių (dėl tos pačios priežasties kaip ir Score).
Ir +1 simbolis - kontrolinis ('\0' (NULL)), kuris žymi eilutės pabaigą (kitaip paaiškint nemoku).

Sudedame ir gauname rezultatą: 24 + 5 + 10 + 10 + 1 = 50.
Dėl patogumo rekomenduočiau naudoti lettercount + skaičiuotuvą arba string.gta-online.
 

Autorius: ES.^

Redaguota , nario ES.^
Nuoroda į komentarą
Dalintis per kitą puslapį

stringus skaičiuoti tai paprasta, 1 stringas, 2 stringai. Manau "teksto ilgio apskaičiavimas" būtų kiek tiksliau :D

O gal, masyvo skirto simboliams laikyti dydžio apskaičiavimas?

 

 

Temos autoriui: neturiu prie ko prisikabinti!(o tai būna retai).  Na nebent paminėti KAM skirtas "kontrolinis". 

Nuoroda į komentarą
Dalintis per kitą puslapį

stringus skaičiuoti tai paprasta, 1 stringas, 2 stringai. Manau "teksto ilgio apskaičiavimas" būtų kiek tiksliau :D

Dėkui, pataisiau.

O gal, masyvo skirto simboliams laikyti dydžio apskaičiavimas?

 

 

Temos autoriui: neturiu prie ko prisikabinti!(o tai būna retai).  Na nebent paminėti KAM skirtas "kontrolinis".

Dėkui, aprašiau.
Nuoroda į komentarą
Dalintis per kitą puslapį

  • Parašė po 2 savaičių...

Prisijungti prie diskusijos

Palikti atsakymą galite iš karto, o užsiregistruoti vėliau. Jeigu jau turite paskyrą mūsų forume, Prisijunkite.

Svečias
Atsakyti Å¡ioje temoje...

×   Ä®klijuotas tekstas turi teksto formatavimą.   PaÅ¡alinti teksto formatavimą

  Galimi tik 75 veidukai.

×   Nuoroda buvo automatiÅ¡kai įterpta.   Ä®terpti nuorodą paprastai

×   JÅ«sų ankstesnis praneÅ¡imas buvo atkurtas.   IÅ¡valyti redaktorių

×   JÅ«s negalite įkelti nuotraukas tiesiogiai.Ä®kelkite arba įdėkite nuotraukas iÅ¡ URL.

  • Å iame puslapyje narÅ¡o:   0 nariai

    Nėra registruotų narių peržiūrinčių šį forumą.


×
×
  • Sukurti naują...