c समस मुद्रण pid_t के लिए सही प्रिंटफ़ स्पेसिफायर क्या है




पहिले मुद्रणालय (2)

मैं वर्तमान में एक स्पष्ट कलाकार का प्रयोग कर रहा हूं और मुद्रण के लिए %ld का उपयोग कर रहा हूँ pid_t , क्या कोई विशिष्ट है जैसे pid_t लिए size_t लिए %z ?

यदि नहीं तो प्रिंटिंग का सबसे अच्छा तरीका क्या है pid_t ?


पूर्णांक प्रकार के साथ एक मिलान स्वरूप स्पेसिफायर की तरह pid_t के मामले में, अभी तक ज्ञात साइन-नेस के साथ, सबसे ज्यादा मेल खाने वाले हस्ताक्षर किए प्रकार और प्रिंट के लिए डाली अगर हस्ताक्षर ज्ञात नहीं है, तो सबसे अधिक अहस्ताक्षरित प्रकार को डालें।

// C99
#include <stdint.h>

pid_t pid = foo();
printf("pid = %jd\n", (intmax_t) pid);

// pre-C99
pid_t pid = foo();
printf("pid = %ld\n", (long) pid);

ऐसा कोई भी विनिर्देशक नहीं है मुझे लगता है कि आप क्या कर रहे हैं ठीक है ... आप एक भी अधिक व्यापक प्रकार का उपयोग कर सकते हैं, लेकिन कोई क्रियान्वयन नहीं है, जहां pid_t लंबे समय से बड़ा है और शायद कभी नहीं होगा





pid