2010-05-06 11 views
9

में मतलब क्या %.6d में क्या मतलब है करता है:क्या "% .6d" printf

printf("%s.%.6d len:%d ", timestr, header->ts.tv_usec, header->len); 

यह लिखने में कोई त्रुटि है?

ऐसा लगता है %.6d%6d जैसा ही है।

+7

यह वास्तव में आसान/तेजी से इतने पर यह सवाल पूछते एक त्वरित परीक्षण कार्यक्रम (उत्तर में लोगों की तरह) लिखने के लिए की तुलना में और देखने के लिए इसे चलाने के लिए दिया गया है उत्पादन अंतर? – tomlogic

+0

आपको एक कार्यक्रम की भी आवश्यकता नहीं है। बैश में बस 'printf'% .6d \ n '1234' चलाएं। –

उत्तर

24
%.6d 

पूर्णांक विनिर्देशक (घ, मैं, ओ, यू, एक्स, एक्स), सटीक अंक की न्यूनतम संख्या निर्दिष्ट करता है के लिए .precision प्रारूप में लिखा होना चाहिए। यदि लिखा जाने वाला मान इस संख्या से छोटा है, तो परिणाम अग्रणी शून्य के साथ गद्देदार है। परिणाम लंबा होने पर भी मान को छोटा नहीं किया जाता है।

%6d 

चौड़ाई (यहां 6) को निर्दिष्ट वर्णों की न्यूनतम संख्या मुद्रित करने के लिए। यदि मुद्रित होने वाला मान इस संख्या से छोटा है, तो परिणाम खाली रिक्त स्थान के साथ गद्देदार है। परिणाम बड़ा होने पर भी मान को छोटा नहीं किया जाता है।

उदाहरण:

printf("%.6d\n%6d",1,1); 

आउटपुट:

000001 
    1 
+0

तो यह ** शून्य ** और ** रिक्त स्थान ** के साथ पैडिंग में केवल अलग है? – user198729

+1

तो '% .6d''% 06d' जैसा ही है? ब्लीच, चलिए इसे स्थिरता के लिए सुनते हैं। > _ < –

+0

तो '% .6d''% 06d' जैसा ही है? –

8

शून्य से पूर्व इच्छा पैड, रिक्त स्थान के साथ बाद।

#include <stdio.h> 
int main(void) { 
    printf ("%.6d\n", 123); 
    printf ("%6d\n", 123); 
    return 0; 
} 

निम्नलिखित उत्पादन,

00
    123