Bu kodun çıktısı çıktı ‘Başarı’.% m biçimlendirme belirticisinin anlamı nedir?
char d='w';
printf("%m\n", d);
Bu kodun çıktısı çıktı ‘Başarı’.% m biçimlendirme belirticisinin anlamı nedir?
char d='w';
printf("%m\n", d);
m
dönüşüm belirteci Cı değil printf
bir GNU:
GNU belgelerine:
http://www.gnu.org/software/libc/manual/html_node/Other-Output-Conversions.html
% m dönüşümü karşılık gelen dizge basar errno hata koduna. Hata Mesajları.
fprintf (stderr, "can't open `%s': %s\n", filename, strerror (errno));
% m dönüşüm Önceki XIV oluşumudur: Böylece: için
fprintf (stderr, "can't open `%s': %m\n", filename);
eşdeğerdir.
Yani:
printf("%m\n", d);
%m
bir argüman gerektirmediğini
printf("%s\n", strerror (errno));
Not eşdeğerdir hangi
printf("%s\n", strerror (errno), d);
eşdeğerdir. Burada printf("%m\n", d)
ve printf("%s\n", strerror (errno), d)
, gerekenden daha fazla argümana sahiptir: printf
ile, daha fazla argüman varsa, bunlar değerlendirilir ve yoksayılır.
Bence en ilginç kısım, printf'in * her *% m' için ekstra bir parametre gerektirmediğidir. – luiscubal
@luiscubal benim görüşüme bak – ouah
@ouah tamam, teşekkürler! – Manuel