Sunday, 21 november 2010
iPhone:% (prosent) i NSString
Hvordan lage en prosent skilt i en NSString? Innføringen selv% vil føre til at NSString forsøker å analysere, men vil vente på et skilt "etter" som vil tillate ham å spesifisere type. Siden ingen er funnet, vil det ikke viser noen tegn på stedet. Spesielt forberedt for denne oppgaven, derfor en%%, noe som løser problemet.
Relaterte oppføringer
Du kan følge eventuelle svar på denne oppføringen gjennom fôret RSS 2.0 . Du kan også skrive dine egne kommentarer , eller for å koble til dette innlegget på siden din.



















































Dette er en printf format
mange nybegynnere i august hodet over denne prosentandelen fordi overse passasje i en bok til C. prosenttegn -% - er en kontroll tegnet i formatet strengen. prosent for hvert tegn som finnes i formatstrengen er hentet fra bunken som er lengden på et heltall argument. for hver prosent skiltet fant der er en plass terminert streng som angir hvordan tolkning av argumentet mottatt.
Den doble strengen i form av en prosentandel ("%%") er konvertert til en enkelt prosenttegn i printf-funksjonen. Tilsvarende er sekvensene C (omregnet på nivået av kompilatoren), backslash (\) en kontroll som lar deg sette inn hvilket som helst tegn ASCII sett. Lar deg sette inn en omvendt skråstrek sekvens er det samme - "\ \".
Den printf formatet ser slik ut:% [parameter] [flagg] [bredde] [Precision.] [Lengde] typen
Det viktigste og det eneste obligatoriske parameteren er "type"
d, og skriv ut en int som signert desimaltall. '% D' og '% i' er synonymt med utgang, men er annerledes når de brukes sammen med scanf () for innspill.
Skriv i desimal usignerte int.
f, F ut en dobbel i normal (fast punkt) notasjon. 'F' og 'F' skiller bare i hvordan de strenger for et uendelig antall eller NaN er trykt ('inf', 'uendelig' og 'nan' for 'f', 'INF', 'Infinity' og 'NAN' for 'F').
e, E ut en dobbel verdi i standard form ([-] d.ddd e [+ / -] DDD). En E konvertering bruker bokstaven E (heller enn e) å innføre eksponenten. Eksponenten alltid inneholder minst to sifre, hvis verdien er null, er eksponenten 00th I Windows, inneholder eksponenten tre sifre som standard, 1.5e002 f.eks, men dette kan endres ved _set_output_format Microsoft-spesifikk funksjon.
g, G ut en dobbel i enten normal eller eksponentiell notasjon, den som er mer passende for størrelsen sin. 'G' bruker små bokstaver, 'G' benytter store bokstaver. Denne typen er litt forskjellig fra fast-punkt notasjon i små at nuller til høyre for desimaltegnet er ikke inkludert. Dessuten er det desimaltegn ikke inkludert på hele tall.
X, X Skriv en usignert int som et heksadesimalt tall. 'X' benytter små bokstaver og 'X' bruker store bokstaver.
for Skriv en usignert int i oktal.
S Skriv en tegnstreng.
c Skriv en char (tegn).
p Skriv en void * (pekeren til å annullere) i en implementering definert format.
n Skriv ingenting, men skriv antall tegn hell skrevet så langt inn i en heltall peker parameter.
% Skriv en bokstavelig '%'-tegn (denne typen Godtar ikke noe flagg, bredde, presisjon eller lengde).
Du må ha en litt årvåken printf'em bruke fordi det er en mekanisme hvor en nybegynner kan skyte i foten.
niesanityzowanych overføre data fra en bruker åpner et format svakhet å angripe.
En vanlig feil er å:
printf (ciag_od_uzytkownika);
Riktig syntaks er:
printf ("% s", ciag_od_uzytkownika);
eller
setter (ciag_od_uzytkownika);