सी printf चार बाइनरी विकल्प
Stdout में स्वरूपित डेटा प्रिंट करें सी स्ट्रिंग को मानक आउटपुट (stdout) के अनुसार प्रारूप से लिखा जाता है यदि स्वरूप प्रारूप विनिर्देशक (शुरुआत से शुरू होता है) में शामिल होता है, तो निम्नलिखित प्रारूपों के अतिरिक्त आर्गमेंट स्वरूपित होते हैं और परिणामी स्ट्रिंग में उनके संबंधित विनिर्देशकों की जगह होती है। पैरामीटर प्रारूप C स्ट्रिंग जिसमें टेक्स्ट को stdout पर लिखा जाना है। यह वैकल्पिक रूप से एम्बेडेड प्रारूप विनिर्देशों को शामिल कर सकता है जो अनुरोधित अतिरिक्त तर्कों में निर्दिष्ट मानों द्वारा प्रतिस्थापित किए जाते हैं और स्वरूपित होते हैं। जहां अंत में स्पेसिफायर वर्ण सबसे महत्वपूर्ण घटक है, क्योंकि यह परिभाषित करता है कि इसके प्रकार और इसके संबंधित तर्क की व्याख्या: हस्ताक्षरित दशमलव पूर्णांक अनसाइन किए गए दशमलव पूर्णांक अनसाइन हेक्साडेसिमल पूर्णांक अनसाइन हेक्साडेसिमल पूर्णांक (अपरकेस) दशमलव फ्लोटिंग बिंदु, लोअरकेस दशमलव फ्लोटिंग बिंदु, अपरकेस वैज्ञानिक संकेतन (mantissaexponent), लोअरकेस वैज्ञानिक संकेतन (mantissaexponent), अपरकेस कम से कम प्रतिनिधित्व का प्रयोग करें: ई या च कम से कम प्रतिनिधित्व का प्रयोग करें: ई या एफ हेक्साडेसिमल फ्लोटिंग प्वाइंट, लोअरकेस हेक्साडेसिमल फ्लोटिंग प्वाइंट, अपरकेस अक्षर का स्ट्रिंग छपी नहीं कुछ भी नहीं। संबंधित तर्क एक हस्ताक्षरित int पर एक सूचक होना चाहिए। अभी तक लिखे गए पात्रों की संख्या को इंगित स्थान में संग्रहित किया गया है। एक और चरित्र के द्वारा इसके बाद स्ट्रीम पर सिंगल लिखना होगा। प्रारूप विनिर्देशक में उप-निर्दिष्टकर्ता भी हो सकते हैं: झंडे चौड़ाई । पूर्वनिर्धारित और संशोधक (उस क्रम में), जो वैकल्पिक हैं और इन विनिर्देशों का पालन करें: दी गई फ़ील्ड चौड़ाई के भीतर वाम-औचित्य। सही औचित्य डिफ़ॉल्ट है (चौड़ाई उप-विनिर्देश देखें) सकारात्मक संख्याओं के लिए भी प्लस या शून्य चिह्न (या -) के साथ परिणाम को आगे बढ़ाने के लिए मजबूरियां डिफ़ॉल्ट रूप से, केवल ऋणात्मक संख्याएं - साइन के पहले होती हैं यदि कोई संकेत लिखा नहीं जा रहा है, तो रिक्त स्थान मूल्य से पहले डाला जाता है। ओ के साथ प्रयुक्त एक्स या एक्स निर्दिष्ट करता है कि मान 0 से आगे है शून्य से भिन्न मानों के लिए क्रमशः 0x या 0X एक के साथ प्रयुक्त ए । ई। ई च एफ जी या जी, लिखित आउटपुट को एक दशमलव बिंदु को नियंत्रित करने के लिए मजबूर करता है, भले ही कोई भी अधिक संख्या का पालन न करें। डिफ़ॉल्ट रूप से, यदि कोई अंक नहीं आते हैं, तो कोई दशमलव बिंदु नहीं लिखा जाता है। पैडिंग निर्दिष्ट किए जाने के स्थान के बजाय शून्य के साथ शून्य (0) संख्याओं (0) को छोड़ दें (चौड़ाई उप-स्पेसिफायर देखें)। पूर्णांक विनिर्देशकों के लिए (डी। ओ। ओ एक्स एक्स): सटीकता में लिखित में अंकों की न्यूनतम संख्या निर्दिष्ट होती है। यदि लिखे जाने वाला मान इस संख्या से छोटा है, तो इसका परिणाम प्रमुख शून्य के साथ गठरी है। मान लंबा नहीं है, भले ही परिणाम लंबा हो। 0 का एक सटीक अर्थ यह है कि कोई भी अक्षर मान 0 के लिए नहीं लिखा गया है। के लिए । ए । ई। ई एफ और एफ विनिर्देशक: यह अंक दशमलव की दशमलव के बाद छपाए जाने की संख्या है (डिफ़ॉल्ट रूप से, यह 6 है)। जी और जी विनिर्देशकों के लिए: यह मुद्रित होने वाले महत्वपूर्ण अंकों की अधिकतम संख्या है। एस के लिए यह मुद्रित करने के लिए वर्णों की अधिकतम संख्या है। डिफ़ॉल्ट रूप से सभी वर्ण मुद्रित होने तक समाप्त होने वाले नल वर्ण का सामना करते हैं। यदि अवधि सटीक के लिए एक स्पष्ट मान के बिना निर्दिष्ट की गई है 0 माना जाता है परिशुद्धता प्रारूप स्ट्रिंग में निर्दिष्ट नहीं है, लेकिन एक अतिरिक्त इंटिजर मान तर्क के रूप में जो कि फ़ॉर्मेट किया जाना है। लंबाई उप-विनिर्देशक डेटा प्रकार की लंबाई को संशोधित करता है। यह एक ऐसा चार्ट है जिसका उपयोग उस प्रकार के लक्षण दिखा रहा है जिसमें लंबाई निर्दिष्टकर्ता के साथ और बिना निर्दिष्ट तर्कों (यदि कोई अलग प्रकार का उपयोग किया जाता है, उचित प्रकार प्रचार या रूपांतरण किया जाता है, तो अनुमति दी जाती है): c specifier के बारे में नोट: यह एक int या विंटित) तर्क के रूप में, लेकिन आउटपुट के लिए फ़ॉर्मेट करने से पहले अक्षरों के मूल्य (या एक wchart) में उचित रूपांतरण करता है नोट: पीला पंक्तियां सीएएम द्वारा शुरू किए गए विनिर्देशक और उप-विनिर्देशों को दर्शाती हैं। विस्तारित प्रकारों के लिए निर्दिष्टकर्ताओं के लिए ltcinttypesgt देखें। । (अतिरिक्त तर्क) स्वरूप स्ट्रिंग के आधार पर, फंक्शन स्ट्रिंग में प्रारूप विनिर्देशक (या भंडार स्थान के लिए एक सूचक, n के लिए) को बदलने के लिए उपयोग किए जाने वाले अतिरिक्त तर्कों के क्रम की उम्मीद कर सकता है। प्रारूप विनिर्देशकों में निर्दिष्ट मूल्यों की संख्या के रूप में इन तर्कों में से कम से कम होना चाहिए। फ़ंक्शन द्वारा अतिरिक्त तर्कों को अनदेखा कर दिया जाता है। वापसी मूल्य सफलता पर, लिखे गए वर्णों की कुल संख्या वापस आ गई है। यदि कोई लेखन त्रुटि होती है, तो त्रुटि संकेतक (आतंक) सेट होता है और एक ऋणात्मक संख्या वापस की जाती है। यदि विस्तृत वर्ण लिखते समय एक multibyte वर्ण एन्कोडिंग त्रुटि उत्पन्न होती है, तो errno को EILSEQ पर सेट किया जाता है और एक नकारात्मक संख्या वापस की जाती है संगतता विशेष पुस्तकालय कार्यान्वयन अतिरिक्त विनिर्देशक और उप-विनिर्देशकों का समर्थन कर सकते हैं। यहां सूचीबद्ध उन नवीनतम सी और सी मानकों (दोनों 2018 में प्रकाशित किए गए) द्वारा समर्थित हैं, लेकिन पीएलए में उन लोगों को C99 में पेश किया गया था (केवल C11 के बाद से सी कार्यान्वयन के लिए आवश्यक), और उन पुस्तकालयों द्वारा समर्थित नहीं किया जा सकता जो पुराने मानकों के अनुरूप होते हैं। stdout (function) scanf को लिखता है स्टैडिंग (फंक्शन) को स्कैन करें स्टैडिन (फंक्शन) से फ़ॉर्मेट किए गए डेटा को पढ़ें fprintf स्ट्रीम (फ़ंक्शन) फ़्रेम पर फ़ॉर्मेट किए गए डेटा लिखें रीड (फ़ंक्शन) फ़ंक्शंस में डेटा के ब्लॉक को लिखें: मैक्रो स्टेंटेंट्स: सामान्य तौर पर ग्लिबैक में बाइनरी कनवर्ज़न स्पेसिफायर नहीं होता है । Glibc में कार्यों के printf () परिवार में कस्टम रूपांतरण प्रकार जोड़ना संभव है विवरण के लिए रजिस्टरप्रिंटफंक्शन देखें आप अपने स्वयं के उपयोग के लिए एक कस्टम ब रूपांतरण जोड़ सकते हैं, अगर यह एप्लिकेशन कोड को इसे उपलब्ध कराने के लिए सरल बनाता है यहाँ glibc में कस्टम printf प्रारूपों को कार्यान्वित करने का एक उदाहरण है। इसके अलावा, आप w. r.t. के बारे में क्या बात कर रहे हैं कई परिणामों को संक्रमित करने से क्रमिक रूप से रिएन्ट्रैन्सी नहीं होता है, बल्कि नतीजे में स्टोर करने के लिए वैश्विक ऑब्जेक्ट के बराबर उपयोग करने के नतीजे पर फ़ंक्शन को पुन: प्रवेश नहीं किया जा रहा है। सी में, उचित, या कम से कम व्यापक रूप से इस्तेमाल किया जाता है, एक वैश्विक ऑब्जेक्ट में अपने परिणामों को संचयित करने वाले कार्यों से निपटने के लिए मुहावरे उन्हें तुरंत प्राप्त करने पर उन परिणामों की नकल करना है। इसका मुख्य लाभ यह है कि यदि एक समय में केवल एक परिणाम की आवश्यकता होती है तो कोई अतिरिक्त आवंटन आवश्यक नहीं है। ndash ग्रेग ए वुड्स 27 27 27 12 पर यहाँ हम असहमत होना होगा। मैं देख सकता हूं कि एक गैर-प्रेरक पूर्वप्रक्रमक प्रतीक जोड़ने से उपयोग मामलों को गंभीर रूप से सीमित करने, इंटरफ़ेस त्रुटि-प्रवण बनाने, अस्थायी मूल्य के लिए प्रोग्राम की अवधि के लिए स्थायी भंडारण आरक्षित करने, और सबसे आधुनिक प्लेटफार्मों पर खराब कोड उत्पन्न करने की हानिकारकता के पास कहीं भी शामिल है। । ndash आर .. 27 27 12 1:53 पर printf () परिवार केवल मानक विनिर्देशकों का उपयोग सीधे आधार 8, 10, और 16 में मुद्रित करने में सक्षम है। किसी फ़ंक्शन को बनाने का सुझाव दें जो नंबरों को प्रति कोड एक स्ट्रींग में विशेष रूप से बदलता है। अन्य सभी उत्तर अब तक कम से कम इन सीमाओं में से एक हैं वापसी बफर के लिए स्थिर स्मृति का उपयोग करें यह समय की संख्या को सीमित करता है कि फ़ंक्शन का प्रयोग printf () के तर्क के रूप में किया जा सकता है। मेमोरी को कॉलिंग कोड को नि: शुल्क संकेतक की आवश्यकता होती है। कॉलिंग कोड को स्पष्ट रूप से उपयुक्त बफर प्रदान करने के लिए आवश्यक है। कॉल printf () सीधे यह fprintf () के लिए एक नया कार्य बाध्य करता है sprintf ()। vsprintf ()। आदि। घटकों की एक कम श्रेणी का उपयोग करें। निम्न में से कोई भी सीमा नहीं है इसमें C99 या बाद के संस्करण की ज़रूरत होती है और एस का उपयोग होता है यह बफर स्थान प्रदान करने के लिए एक यौगिक शाब्दिक का उपयोग करता है। प्रिंटफ़ () में कई कॉल्स के साथ कोई परेशानी नहीं है। डिफ़ॉल्ट रूप से, सी आउटपुट स्वरूपण के लिए सी बहुत अधिक शक्ति प्रदान करता है। मानक डिस्प्ले फ़ंक्शन, printf, एक प्रारूप स्ट्रिंग लेता है जो आपको एक प्रोग्राम के स्वरूपण के बारे में बहुत सारी जानकारी निर्दिष्ट करने की अनुमति देता है। नोट: यदि आप सी में आउटपुट स्वरूपण के बारे में जानकारी तलाश रहे हैं, तो Iomanip का उपयोग करके सी आउटपुट को स्वरूपित करें। आइए एक प्रारूप स्ट्रिंग के शरीर रचना को देखने के लिए कुछ छोटे उदाहरण कार्यक्रमों के बाद कार्रवाई में विभिन्न सेटिंग्स को दिखाने के लिए। मैं हर एक संभव विकल्प को शामिल नहीं करता - इसके बजाय, मेरा लक्ष्य मिनी भाषा को समझना आसान बनाना है जिसे आप प्रारूप स्ट्रिंग बनाने के लिए उपयोग कर सकते हैं और आपको सिखाने के लिए सामान्य प्रारूपण का उपयोग कैसे करना है जिसे आपको सबसे ज़्यादा ज़रूरत है एक प्रारूप स्ट्रिंग के एनाटॉमी जब आप printf को कॉल करते हैं, तो मूल विचार यह है कि आप अक्षर की एक स्ट्रिंग प्रदान करने जा रहे हैं जिसमें कुछ शाब्दिक अक्षर और कुछ तत्व हैं जिन्हें प्रतिस्थापित किया जाना है। उदाहरण के लिए, जैसे एक स्ट्रिंग: सचमुच के रूप में मुद्रित किया जाएगा जैसा दिखता है हालांकि यह कभी-कभी सचमुच आपके कोड में लिखने के लिए पर्याप्त होता है, जिसे आप प्रिंट करना चाहते हैं, आप आमतौर पर कुछ विशेषज्ञ करना चाहते हैं - या तो विशेष अनुक्रमों का उपयोग करके विशेष वर्णों को शुरू करने या फ़ॉर्मेट विनिर्देशक का उपयोग करके वैरिएबल मानों को प्रस्तुत करना। एस्केप श्रृंखलाएं कुछ वर्ण हैं जो आप सीधे एक स्ट्रिंग में नहीं दर्ज कर सकते हैं। ये एक नई लाइन की तरह अक्षर हैं, जो कि कुछ विशेष वाक्यविन्यास का उपयोग कर प्रस्तुत किया जाना चाहिए। इन्हें एस्केक अनुक्रम कहा जाता है और इस तरह दिखें: यहां, मैंने प्रत्येक अक्षर, ए, बी और सी के बीच नई लाइनें दर्ज की हैं। प्रत्येक एस्केप अनुक्रम बैकस्लैश () चरित्र से शुरू होता है। मुख्य एस्केप अनुक्रम जो आप उपयोग करेंगे वे हैं: n, एक नया पंक्ति डालकर, और किसी टैब में डालने के लिए। चूंकि एक बैकस्लैश आम तौर से एस्केप अनुक्रम की शुरुआत इंगित करता है, यदि आप किसी एस्केप अनुक्रम में रखना चाहते हैं तो आपको एक बैकस्लैश प्रदर्शित करने के लिए उपयोग करना होगा: सी में एक विंडोज़ मार्ग लिखने के तरीके हैं। एक अन्य उन्नत चाल में ये है, जो कि मान num द्वारा दर्शाए गए ASCII वर्ण को प्रदर्शित करने के लिए ltnumgt लिख सकते हैं। यह उपयोगी है अगर आप एक ऐसे चरित्र को प्रदर्शित करना चाहते हैं जो आप अपने कीबोर्ड पर आसानी से टाइप नहीं कर सकते हैं, जैसे कि उच्चारण किए गए अक्षर उदाहरण के लिए, 130 एक चरित्र को प्रिंट करेंगे (कुछ मामलों में, विस्तारित एएससीआईआई वर्णों के साथ आपके मशीन को किस प्रकार स्थापित किया गया है इसके आधार पर।) प्रारूप विनिर्देशक यदि आप आउटपुट में कुछ विचरण पेश करना चाहते हैं, तो आप यह बता सकते हैं कि बाहरी डेटा की आवश्यकता है: इस स्ट्रिंग में, डी इंगित करता है कि स्ट्रिंग में उस बिंदु पर प्रदर्शित होने वाला मान एक चर से लिया जाना चाहिए। संकेत इंगित करता है कि हम कुछ डेटा को स्ट्रिंग में विभाजित कर रहे हैं, और डी अक्षर इंगित करता है कि हम दशमलव संख्या में विभाजन कर रहे हैं। स्ट्रिंग के साथ शुरू होता है जो कि प्रारूप विनिर्देशक कहा जाता है वास्तव में उस नंबर को प्राप्त करने के लिए, हमें प्रिंटफ़ के लिए उस मान को प्रदान करना होगा: जो प्रदर्शित होगा: सभी दिलचस्प स्वरूपण जो आप कर सकते हैं, उस चिह्न को बदलते हैं, जो आपके द्वारा हस्ताक्षर किए गए हैं, जो वास्तविक स्वरूप है। एक संकेत के बारे में क्या प्रतीत होता है: इनमें से अधिकांश फ़ील्ड वैकल्पिक हैं, रूपांतरण विनिर्देशक प्रदान करने के अलावा, जो आपने पहले से देखा है (उदाहरण के लिए, दशमलव संख्या प्रिंट करने के लिए d का प्रयोग करके)। इस स्वरूपण को समझना, पिछली बार काम करने, रूपांतरण विनिर्देशक के साथ शुरू करने और बाहर की तरफ से काम करने के द्वारा सबसे अच्छा किया जाता है। तो अंत में शुरू होने वाले रूपांतरण के बारे में बताएं रूपांतरण विनिर्देशक प्रारूप विनिर्देशक का हिस्सा है जो मुद्रित किए जाने वाले मूल्य के बुनियादी स्वरूपण को निर्धारित करता है। पूर्णांक के लिए कनवर्ज़न विनिर्देशक यदि आप बेस 0 में दशमलव पूर्णांक संख्या मुद्रित करना चाहते हैं, तो आप डी या आई का उपयोग करेंगे डी या आई। यदि आप ऑक्टल या हेक्साडेसिमल में एक पूर्णांक मुद्रित करना चाहते हैं तो ओकटल के लिए ओ उपयोग करें, या हेक्साडेसिमल के लिए x यदि आप बड़े अक्षर चाहते हैं (दशमलव 10 को छपाई करते समय एक के बजाय) तो आप एक्स का उपयोग कर सकते हैं फ्लोटिंग प्वाइंट नंबर के लिए कनवर्ज़न स्पेसिफायर फ्लोटिंग पॉइंट नंबर प्रदर्शित करने में कई विकल्प हैं, एक टेबल में सर्वश्रेष्ठ दिखाया गया है: ठीक है, यह बहुत खराब नहीं था लेकिन यह चार्ट जटिल है। मेरी सिफारिश: बस जी का उपयोग करें, और यह आमतौर पर आप क्या करना चाहते हैं: जहां वैज्ञानिक संकेतन सबसे उपयुक्त है एक प्रतिशत हस्ताक्षर प्रदर्शित करना क्योंकि प्रतिशत चिह्न का उपयोग प्रारूप विनिर्देशों को परिभाषित करने के लिए किया जाता है, एक विशेष प्रारूप विनिर्देशक का अर्थ है कि प्रतिशत चिह्न मुद्रित करें: बस एक प्रतिशत चिह्न प्रिंट करें। अब, एक प्रारूप विनिर्देशक के प्रत्येक विभिन्न घटकों के माध्यम से चलने दें लंबाई संशोधक लंबाई संशोधक शायद अजीब तरह से नामित है, यह उत्पादन की लंबाई को संशोधित नहीं करता है। इसके बजाय, इसका उपयोग आप इनपुट की लंबाई निर्दिष्ट करने के लिए करते हैं। हह कहें कि आपके पास है: यहाँ, डी printf में इनपुट है और आप क्या कह रहे हैं कि आप डी को डी के रूप में मुद्रित करना चाहते हैं, लेकिन डी डबल नहीं है, यह एक लंबी दोहरी है। एक लंबी दोगुनी 16 बाइट्स होने की संभावना है (एक डबल के लिए 8 की तुलना में), इसलिए अंतर मायने रखता है उस छोटे स्निपेट को चलाने का प्रयास करें और आप पाएंगे कि आप कचरा आउटपुट प्राप्त करते हैं जो कुछ ऐसा दिखता है: याद रखें, printf को दिए गए बाइट्स को दोगुना जैसा व्यवहार किया जा रहा है - लेकिन ये दो बार नहीं हैं, वे लंबे समय तक दोहरी हैं लंबाई गलत है, और परिणाम बदसूरत हैं लंबाई की संशोधक उन मामलों के साथ printf सौंपने में मदद करने के बारे में है, जहां आप असामान्य रूप से बड़ी (या असामान्य रूप से छोटे) चर का उपयोग कर रहे हैं लंबाई संशोधक के बारे में सोचने का सबसे अच्छा तरीका यह है कि मैं किस प्रकार के चर प्रकार से हूं, और मुझे इसके लिए एक लंबाई संशोधक का उपयोग करने की ज़रूरत है, वह एक टेबल है जो आपकी सहायता कर सकता है: लंबी डबल डी 3.1415926535 printf (एलजी, डी) आईडी विस्तृत चरित्र हैंडलिंग के बारे में विशेष उल्लेख करना चाहते हैं। यदि आप एल के बिना लिखते हैं, तो परिणाम स्क्रीन पर एक एकल डब्ल्यू प्रिंट करना होगा। इसका कारण यह है कि व्यापक वर्ण दो बाइट हैं, और डब्ल्यू की तरह साधारण एएससीआईआई वर्णों के लिए, दूसरा बाइट 0 है। इसलिए, printf सोचता है कि स्ट्रिंग हो गई है आपको एल: एल जोड़कर multibyte वर्णों को देखने के लिए printf को बता देना चाहिए। (यदि आप wprintf का उपयोग करते हैं, तो दूसरी तरफ, आप बस एस का उपयोग कर सकते हैं और यह सभी स्ट्रिंगों को व्यापक वर्ण स्ट्रिंग के रूप में इलाज करेगा।) सटीक संशोधक लिखा है। संख्या, और भिन्न रूपांतरण विनिर्देशों के लिए थोड़ा अलग अर्थ है (जैसे डी या जी) फ्लोटिंग प्वाइंट नंबर (उदा। एफ) के लिए, यह दशमलव अंक के बाद मुद्रित अंकों की संख्या को नियंत्रित करता है: यदि प्रदान की गई संख्या अधिक सटीक दी गई है, तो यह गोल होगा। उदाहरण के लिए: दिलचस्प रूप से प्रदर्शित होगा, जी और जी के लिए, यह प्रदर्शित किए गए महत्वपूर्ण आंकड़ों की संख्या को नियंत्रित करेगा। यह दशमलव स्थान के बाद सिर्फ मूल्य ही नहीं बल्कि पूरे नंबर पर असर होगा। पूर्णांक के लिए, दूसरी तरफ, सटीक यह न्यूनतम अंकों की संख्या मुद्रित करता है: तीन अंकों के साथ नंबर 10 प्रिंट करेगा: पूर्णांकों के लिए एक विशेष केस है - यदि आप .0 निर्दिष्ट करते हैं, तो संख्या शून्य में कोई आउटपुट नहीं होगा : अंत में, स्ट्रिंग के लिए, सटीक प्रदर्शित स्ट्रिंग की अधिकतम लंबाई नियंत्रित करती है: यह उपयोगी है अगर आपको यह सुनिश्चित करने की आवश्यकता है कि आपका आउटपुट निश्चित वर्णों की संख्या से परे नहीं है चौड़ाई फ़ील्ड लगभग सटीक क्षेत्र के विपरीत है। प्रेसिजन प्रिंट की अधिकतम संख्या को नियंत्रित करता है, चौड़ाई कम से कम नंबर को नियंत्रित करता है, और दशमलव के बिना ही सटीक रूप में एक समान प्रारूप होता है: खाली स्थान रिक्त स्थान डिफ़ॉल्ट रूप से शुरू होता है। आप सटीक और चौड़ाई को जोड़ सकते हैं, यदि आप चाहें: ltwidthgt. ltprecisiongt (प्रमुख स्थान पर ध्यान दें।) ध्वज सेटिंग स्ट्रिंग में जोड़े जाने वाले अक्षर को नियंत्रित करता है, जैसे कि हेक्सैडेसिमल संख्या में 0x को जोड़ना है या पैड नंबर के साथ 0। विशिष्ट झंडा विकल्प पाउंड साइन हैं: जोड़ना एक 0 को एक ऑक्टल नंबर (ओ रूपांतरण विनिर्देशक का उपयोग करते समय), या एक हेक्सडेसिमल संख्या (जब x रूपांतरण विनिर्देशक का उपयोग करते समय) के लिए प्रीपेड किया जाना चाहिए, के लिए तैयार होना चाहिए। अधिकांश अन्य रूपांतरण विनिर्देशों के लिए, जोड़ने से एक दशमलव बिंदु को शामिल करने के लिए मजबूर किया जाएगा, भले ही संख्या में कोई भिन्न अंश न हो। मुद्रित किया जा रहा है जबकि सिर्फ शून्य झंडा में परिणाम: 0 का प्रयोग 0 से 0 के साथ गद्देदार होने के लिए संख्या को बलपूर्वक लागू करेगा। यह केवल सचमुच महत्वपूर्ण है यदि आप चौड़ाई की सेटिंग का उपयोग अपने नंबर के लिए न्यूनतम चौड़ाई के लिए पूछने के लिए करते हैं उदाहरण के लिए, यदि आप लिखते हैं: प्लस साइन फ्लैग: प्लस चिह्न में संख्या के लिए साइन स्पेसिजर शामिल होगा: मिनस साइन फ्लैग: - अंत में, माइनस हस्ताक्षर आउटपुट को छोड़ दिया जाना उचित होगा यह महत्वपूर्ण है अगर आप चौड़ाई विनिर्देशक का उपयोग कर रहे हैं और आप शुरुआत के बजाय उत्पादन के अंत में पैडिंग को दिखाना चाहते हैं: आउटपुट के अंत में पैडिंग के साथ। इसे एक साथ मिलाकर किसी भी प्रारूप विनिर्देशक के लिए, आप हमेशा से प्रतिशत चिह्न और बेस विनिर्देशक प्रदान कर सकते हैं। उसके बाद आप चाहते हैं कि किसी भी, या सभी, झंडे, चौड़ाई और सटीक और लंबाई शामिल कर सकते हैं। आप यहां कई झंडे टोगर भी शामिल कर सकते हैं यह एक विशेष रूप से जटिल उदाहरण है जिसमें कई झंडे दिखाए जाते हैं जो हेक्सैडेसिमल मानों के रूप में मुद्रण मेमोरी पते के लिए उपयोगी होंगे। इसे पढ़ने का सबसे आसान तरीका यह है कि पहली बार हस्ताक्षर को नोटिस करें और फिर दाएं-से-बाएँ पढ़ लें- एक्स इंगित करता है कि हम एक हेक्साडेसिमल मान मुद्रित कर रहे हैं, 10 इंगित करता है कि हम चाहते हैं कि 10 कुल वर्ण अगले 0 के लिए चौड़ाई एक झंडा है जो हम चाहते हैं रिक्त स्थान के 0s intead के साथ पैड के लिए, और अंत में संकेत दर्शाता है कि हम एक प्रमुख 0x चाहते हैं चूंकि हम 0x से शुरू करते हैं, इसका मतलब है कि 8 अंकों की अच्छी संख्या है - एक 32 बिट मेमोरी एड्रेस को प्रिंट करने के लिए बिल्कुल सही राशि। अंतिम परिणाम है: और इसी प्रकार के लेख पढ़ें: मुझे इस चरित्र को बाइनरी संख्या के रूप में संसाधित करने की आवश्यकता है ताकि यह पता लगा सके कि संचरण प्रक्रिया के दौरान डेटा खराब हो गया है। ऐसा लगता है कि इस मामले में आपको उस यूसीएचएआर को बाइनरी या हेक्स के रूप में प्रदर्शित करने की आवश्यकता नहीं है, लेकिन सिर्फ कुछ बिटवर्ड लॉजिकल ऑपरेशन करने के लिए और उस यूसीएचएआर पर पाली उदाहरण के लिए उस uchar से 1 बिट की संख्या की गिनती जैसे कुछ: अहस्ताक्षरित चार सी 93 एट बिटकाउंट 0 प्रिंटफ़ (quotbitcount: dnquot, bitcount) शनिवार, दिसम्बर 09, 2006 9: 11 प्रधानमंत्री यही ठीक है कि मैं क्या चाहता था )। लेकिन कोड के टुकड़े के कुछ समायोजन के साथ आपने मुझे दिया है कि मैं इसे अहस्ताक्षरित चार सी 93 प्रिंटफ़ (सीटीएक्सएनएन, सी, सी) को (सीएपी 128) डीजे 1 के लिए (जे0jlt8j) प्रिंटफ़ (डी, डीजे) रविवार, दिसम्बर 10, 2006 2:20 अपराह्न हेक्स प्रारूप के सभी उत्तरों के लिए प्रिंटफ़ में एक्स प्रारूप विनिर्देशक है जो यह करता है। द्विआधारी के लिए आप इसका उपयोग कर सकते हैं फ्यूचर: अहस्ताक्षरित चार चक्र 934 कुछ यादृच्छिक अहस्ताक्षरित चारों ओर मान के साथ आईओएओ का उपयोग करते हुए एक्स पाठक विनिर्देशक आईओएओ (सीएच, टेक्स्ट, 16) का उपयोग करते हुए आईओएए प्रिंटफ़ (कोट एक्सक्लॉट। 16 printf (quotsnquot। Text) आओओआ (ch, text, 2) आधार 2 printf (quotsnquot, text) के साथ itoa का उपयोग शनिवार, 9 दिसंबर, 2006 7:49 PM त्वरित उत्तर के लिए धन्यवाद कोड का यह टुकड़ा सामान्य परिस्थितियों में काम करता है लेकिन मेरे विशेष मामले में यूसीएआरएआर यूएआरएसी द्वारा भेजे गए संदेश का हिस्सा है, जिसके लिए एक डाटा स्ट्रीम संलग्न है इस प्रकार, मुझे इस चरित्र को एक द्विआधारी संख्या के रूप में संसाधित करने की आवश्यकता है कि यह स्थापित करने के लिए कि ट्रांसमिशन प्रक्रिया के दौरान डेटा दूषित हो गया है या नहीं। शनिवार, 9 दिसंबर, 2006 8:42 बजे उद्धरण: मुझे इस चरित्र को बाइनरी नंबर के रूप में संसाधित करने की आवश्यकता है, यह स्थापित करने के लिए कि संचरण प्रक्रिया के दौरान डेटा खराब हो गया है। ऐसा लगता है कि इस मामले में आपको उस यूसीएचएआर को बाइनरी या हेक्स के रूप में प्रदर्शित करने की आवश्यकता नहीं है, लेकिन सिर्फ कुछ बिटवर्ड लॉजिकल ऑपरेशन करने के लिए और उस यूसीएचएआर पर पाली उदाहरण के लिए उस uchar से 1 बिट की संख्या की गिनती जैसे कुछ: अहस्ताक्षरित चार सी 93 एट बिटकाउंट 0 प्रिंटफ़ (quotbitcount: dnquot, bitcount) शनिवार, दिसंबर 09, 2006 9: 11 PM क्या मैं दाईं तरफ स्थानांतरित करके थोड़ा सा प्राप्त कर सकता था (gtgt) या बाईं ओर (एलटीएलटी) Ie सीएफ 66 - 01010101 जहां आखिरी बिट चली गई है रविवार, 10 दिसंबर, 2006 10:02 पूर्वाह्न नहीं, आप नहीं कर सकते आपको पहले बिट, बदलाव, परीक्षण और फिर से परीक्षण करने की आवश्यकता है। असेंबली भाषा में जो कुछ बाहर निकलता है वह आमतौर पर कुछ चीज़ों में पाया जाता है जिसे ट्राईरी फ्लैगॉट कहा जाता है और इसका परीक्षण किया जा सकता है लेकिन सीसी में ऐसी कोई बात नहीं है रविवार, 10 दिसंबर, 2006 1:18 अपराह्न यह वही है जो मैं चाहता था (एक ले जाना)। लेकिन कोड के टुकड़े के कुछ समायोजन के साथ आपने मुझे दिया है कि मैं इसे अहस्ताक्षरित चार सी 93 प्रिंटफ़ (सीटीएक्सएनएन, सी, सी) को (सी amp 128) डीजे 1 के लिए (जे0jlt8j) प्रिंटफ़ (डी, डीजे) रविवार, दिसम्बर 10, 2006 2:20 PM यह मेरे लिए सही नहीं लग रहा है बुधवार, 07 नवंबर, 2007 5:25 PM माइक्रोसॉफ्ट एमएसडीएन वेब साइट की आपकी राय को समझने के लिए एक ऑनलाइन सर्वेक्षण आयोजित कर रहा है। यदि आप भाग लेना चुनते हैं, तो ऑनलाइन सर्वेक्षण आपको प्रस्तुत किया जाएगा जब आप एमएसडीएन वेब साइट छोड़ देंगे। क्या आप भागीदारी करना चाहेंगे
Comments
Post a Comment