Altı tane imzasız kısa hizada yazdırmaya çalışıyorum, ör. 0xFFFF. Sorun şu ki, X değil X bir küçük harf istiyorum. Bunu nasıl yapacağımı bilmiyorum.printf kısa boylu altıgen büyük harf ile C
fprintf(c,"%#06X,\n\t", pixel[i]));
Altı tane imzasız kısa hizada yazdırmaya çalışıyorum, ör. 0xFFFF. Sorun şu ki, X değil X bir küçük harf istiyorum. Bunu nasıl yapacağımı bilmiyorum.printf kısa boylu altıgen büyük harf ile C
fprintf(c,"%#06X,\n\t", pixel[i]));
Değişim% x% x belirteci ve küçük harf almalısınız: 0xffff
olarak
fprintf(c, "%#06x\n", pixel[i]);
Çıkışlar numarası. piksel imzasız şort bir dizidir ve verileri eşleştirmek için bir format isterseniz, bunu yapabilirsiniz:
fprintf(c, "%#06hx\n", pixel[i]);
Eğer gerçekten 0xFFFF
isterseniz, o zaman o Önemsiz:
fprintf(c, "0x%04hX\n", pixel[i]);
OP'den şüpheleniyorum, sadece x'in lowr vakasını sorgunda belirtiyor. Bağımsız değişken gerektiren uygulama tanımlı davranışı önlemek için argümanın "imzasız" olması gerektiğini unutmayın. – Olaf
Burada (imzasız) yayınlanmış veya içermeyen uygulama tanımlı davranış kaygıları yoktur. “0x% 04hX” 'OP'nin aradığı şeydir. – chux
Ve C++ etiketi sadece ... – Olaf
'% X',' unsigned short' için yanlış tip belirtecidir ve piksel [i] de yanlış tiptir. – Olaf
piksel [i] işaretsiz kısa dizidir. –