SORU
10 EKİM 2009, CUMARTESİ


Printf temiz kod C (veya: C99'In C z%) birbirine Yakın size_t

size_t bir yazdıran C kodu var:

size_t a;
printf("%lu", a);

Bu 32 - ve 64-bit mimarileri hem de bir uyarı olmadan derlemek istiyorum.

Bu printf("%z", a); kullanabilirim C99 olsaydı. Ama AFAİCT %z herhangi bir standart C lehçesinde yok. Bunun yerine, yapmak zorundayım

printf("%lu", (unsigned long) a);

gerçekten çirkin olan.

Eğer tesis için baskı size_ts içine inşa dili, merak ediyorum, eğer mümkünse yazmak için printf sarıcı veya somesuch böyle olacak Ekle uygun yayınları size_ts olarak ortadan kaldırmak için sahte derleyici uyarılarını ise hala muhafaza iyiler.

Herhangi bir fikir?


. ben^>EditPrintf kullanıyorum neden açıklığa kavuşturmak için: temizlik yapıyorum, nispeten büyük bir kod tabanı var. Printf sarma gibi şeyleri yapmak için kullandığı "bir uyarı yazmak, bir dosyaya Kaydet, ve muhtemelen bir hata kodu ile çıkmak". Ben olabilir toplanma yeterince C -foo bunu yapmak için bir sarıcı sürece sorun yoktur, ama ben almayayım değişikliği her warn() çağrısında programı sadece kurtulmak için bazı derleyici uyarılarını.

CEVAP
3 Kasım 2009, Salı


printf biçimi %zu C sistemleri üzerinde iyi çalışır belirtici; daha karmaşık yapmak gerek yok.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Air_Fooj

    Air_Fooj

    24 NİSAN 2009
  • READ DESCRIPTION NOW!!!!!!!

    READ DESCRIP

    18 ŞUBAT 2009
  • superemposed

    superemposed

    25 Aralık 2007