Nedeľa 21. novembra 2010
iPhone:% (percent) NSString
Ako urobiť znak percenta v NSString? Zavedenie sám% spôsobí NSString pokúsi analyzovať, ale bude čakať na znamenie "po", ktoré mu umožní zadať typ. Pretože žiadny nájdený, nebude vykazovať známky na mieste. Špeciálne upravené pre túto úlohu, a preto,%%, čo rieši problém.
Súvisiace položky
Môžete sledovať všetky reakcie na tento vstup prostredníctvom krmiva RSS 2.0 . Môžete tiež napísať svoj komentár , alebo odkazovať na tento príspevok na vašej stránke.



















































To je printf formát
mnohí nováčikovia v hlave augusta počas tohto percenta, pretože výhľad na pasáž v knihe podpísať percent C. -% - je riadiaci znak vo formátovacom reťazci. percent pre každý znak nájdený v formátovacieho reťazca je prevzatá zo zásobníka, ktorý je dĺžka celé číslo argumentu. za každé percento nájdených znamení je tu priestor ukončený reťazec, ktorý určuje, ako výklad argument prijatý.
Dvojité reťazec vo formáte percenta ("%%") je prevedený do jedného znaku percenta na funkciu printf. Podobne sekvencie C (v prepočte na úrovni kompilátora), spätné lomítko (\) je ovládací prvok, ktorý umožňuje vložiť ľubovoľný znak ASCII sady. Umožňuje vložiť spätné lomítko sekvenciu je rovnaký - "\ \".
Printf formát vyzerá takto:% [parameter] [príznaky] [width] [Precision.] [Dĺžky] typ
Najdôležitejšie a povinný len parameter "typ"
d, a tlač typu int ako podpísanú desatinné číslo. "% D" a "% i" sú synonymom pre výkon, ale sú odlišné Pri použití s scanf () pre vstup.
Tlač v desiatkovej unsigned int.
f, F Tlač double v normálnej (pevný bod) notácie. "F" a "F" líšia iba v tom, ako sú struny pre nekonečné množstvo alebo NaN tlače ("inf", "nekonečno" a "nan" k "F", "INF", "nekonečno" a "NAN" pre "F").
e, E Tlač dvojakú hodnotu v štandardnej forme ([-] d.ddd e [+ / -] DDD). E konverzie používa písmeno E (skôr ako e) zaviesť exponent. Exponent vždy obsahuje aspoň dve číslice, ak je hodnota nulová, exponent je 00. V systéme Windows, exponent obsahuje tri číslice v predvolenom nastavení, napr 1.5e002, ale môžu byť zmenené _set_output_format Microsoft špecifickú funkciu.
g, G Tlač dvojitý v normálnej alebo exponenciálnej notácie, podľa toho, čo je vhodnejšie pre jeho veľkosť. "G" používa malými písmenami, "G" používa veľké písmená. Tento typ sa mierne líši od zápisu s pevnou čiarkou v malých To Nuly napravo od desatinnej čiarky nie sú zahrnuté. Tiež je desatinná čiarka nie je zahrnutá v celých číslach.
x, X Tlač unsigned int ako hexadecimálne číslo. "X" používa malými písmenami a "X" používa veľkými písmenami.
Tlač na unsigned int na osmičkové.
Tlač je reťazec znakov.
c Tlač char (znak).
s Tlač prázdno * (ukazovateľ na void) vo vykonávacom definovaného formátu.
n tlače nič, ale písať počet znakov úspešne zapísaný tak ďaleko do celé číslo ukazovateľ parameter.
Tlač% doslovný '%' znak tohto typu neprijíma žiadne vlajky, šírku, dĺžku alebo presnosť).
Musíte mať trochu ostražití printf'em pomocou, pretože to je mechanizmus, kedy nováčik môže strieľať do nohy.
niesanityzowanych prenos dát z užívateľ otvorí formátovací reťazec zraniteľnosť voči útokom.
Častou chybou je:
printf (ciag_od_uzytkownika);
Správna syntax je:
printf ("% s", ciag_od_uzytkownika);
alebo
puts (ciag_od_uzytkownika);