2016-07-26 9 views
-2

Ich frage nach %Id, nicht %ld.Was genau bedeutet '% Id'? (Großbuchstaben I, Kleinbuchstaben d)

Kann jemand mir bitte erklären, was bedeutet „I“ genau das tun:

I Für Dezimalzahl Umwandlung (i, d, u) die Ausgabe verwendet die alternativen Ausgabeziffern des locale, falls vorhanden. Für Beispiel, seit Glibc 2.2.3 gibt dies arabisch-indische Ziffern im persischen ("fa_IR") Gebietsschema.

Als Beispiel:

printf("%Id",1); 

Mit anderen Worten, was ist der Unterschied zwischen %d und %Id?

Kann jemand bitte erklären Sie es mit einfachen Worten und einem einfachen Beispiel, das den Unterschied angibt?

+0

Bitte klären Sie Ihr spezifisches Problem oder fügen Sie zusätzliche Details hinzu, um genau zu markieren, was Sie brauchen. Wie es derzeit geschrieben wird, ist es schwer zu sagen, was genau Sie fragen. Weitere Informationen zur Klärung dieser Frage finden Sie auf der Seite "Fragen stellen". – Olaf

+0

Warum meldest du immer meine Fragen Ich versuche zu verstehen, dass wir nicht das gleiche Gehirn und die gleiche Art zu denken haben! –

+0

Sie haben eine Erklärung eingefügt, was genau ich tun soll. Wenn Sie das nicht verstehen, dann beschreiben Sie bitte genau, welchen Teil dieser Erklärung Sie nicht verstehen, damit jemand Ihre spezifische Lücke ansprechen kann. – kaylum

Antwort

3

printf Die Formatoption I ist eine glibC-Erweiterung zur Auswahl einer Gebietsschema-Darstellung für Zahlen. Es ist nicht durch den C-Standard definiert und sollte nicht in portablem Code verwendet werden.

Wenn das Gebietsschema richtig ausgewählt ist und von Ihrer C-Bibliothek unterstützt wird, kann der Aufruf printf("%Id", 1); eine Zeichenfolge erzeugen, die den Unicode-Codepunkt U + 0661 ١ codiert. Dies ist die Darstellung der Ziffer eins in arabischer Sprache.

Siehe http://www.fileformat.info/info/unicode/char/0661/index.htm

Umgekehrt printf("%d", 1); immer druckt 1, die westliche Darstellung Nummer eins.

Um die Sache noch verwirrender zu machen, wird 1 eine arabische Zahl genannt, im Gegensatz zu römische ZifferI ... in keinem Zusammenhang mit der I in %Id.