c - Mit jelent a% m formázó specifikátor?

Translate

Ennek a kódnak a kimenete kinyomtatta a "Siker" szót.

printf("%m\n");
This question and all comments follow the "Attribution Required."

Minden válasz

Translate

mA konverzió specifikáció nem C, hanem a GNU kiterjesztéseprintf:

A GNU dokumentációjából:

http://www.gnu.org/software/libc/manual/html_node/Other-Output-Conversions.html

A '% m' konverzió kinyomtatja az errno hibakódjának megfelelő karakterláncot. Lásd: Hibaüzenetek. Így:

fprintf (stderr, "can't open `%s': %m\n", filename);

egyenértékű:

fprintf (stderr, "can't open `%s': %s\n", filename, strerror (errno));

A '% m' konverzió egy GNU C Library kiterjesztés.

Így:

printf("%m\n", d);

egyenértékű

printf("%s\n", strerror (errno), d);

ami egyenértékű

printf("%s\n", strerror (errno));

Vegye figyelembe, hogy%mnem igényel érvet. Ittprintf("%m\n", d)ésprintf("%s\n", strerror (errno), d)a kelleténél több érv legyen: aprintfha vannak további záró érvek, akkor azokat csak kiértékelik és figyelmen kívül hagyják.

Forrás
Leave a Reply
You must be logged in to post a answer.
A szerzőről