लिनक्स printf प्रारूप बाइनरी विकल्प


लिनक्स और यूनिक्स printf कमांड FORMAT स्ट्रिंग में तीन प्रकार की ऑब्जेक्ट हैं: साधारण अक्षर जो आउटपुट के लिए शब्दशः कॉपी किए जाते हैं। व्याख्या किए गए वर्ण अनुक्रम, जो एक बैकस्लैश () के साथ बच गए हैं रूपांतरण विनिर्देशों, जो कि जिस तरह से एगूमेंट्स को आउटपुट के भाग के रूप में व्यक्त किया जाएगा परिभाषित करता है। यहां एक त्वरित उदाहरण है, जो इन तीन प्रकार के ऑब्जेक्ट का उपयोग करता है: यह कमांड आउटपुट का उत्पादन करता है: यहां, FORMAT डबल-कोट्स () में संलग्न है। एक रूपांतरण विनिर्देश है: एस जो तर्क जॉन को स्ट्रिंग के रूप में व्याख्या करता है और उसे आउटपुट में सम्मिलित करता है। तीन बच पात्रों के दृश्य हैं: दो घटनाएं और एन की एक घटना। अनुक्रम एक शाब्दिक डबल कोट के रूप में अनुवादित होता है जो इसे बैकस्लैश से बच जाता है ताकि printf को इसे एक शाब्दिक चरित्र के रूप में माना जाए, और नहीं कि FORMAT स्ट्रिंग के अंत के रूप में। n एक नए पंक्ति के लिए अनुक्रम है, और printf को एक नई लाइन शुरू करने और वहां से आउटपुट जारी रखने के लिए कहता है। Printf की शक्ति इस तथ्य में निहित है कि किसी भी दिए गए प्रारूप स्ट्रिंग के लिए, उत्पादन को प्रभावित करने के लिए तर्कों को बदला जा सकता है। उदाहरण के लिए, उपरोक्त उदाहरण में कमांड का उत्पादन सिर्फ तर्क को बदलकर बदल सकता है, जॉन अगर एक स्क्रिप्ट में इस्तेमाल किया यह तर्क एक चर पर सेट किया जा सकता है उदाहरण के लिए, यह कमांड पर्यावरण परिवेश LOGNAME के ​​मूल्य को सम्मिलित करेगी। जो कि जो भी कमांड चलाता है उसका उपयोगकर्ता नाम है रूपांतरण निर्दिष्टीकरण प्रत्येक रूपांतरण विनिर्देश एक रूपांतरण वर्ण के साथ शुरू होता है और समाप्त होता है। और रूपांतरण वर्ण के बीच, क्रम में हो सकता है: एक शून्य चिह्न यह printf को दलील के रूपांतरण को छोड़कर समायोजित करने के लिए कहता है। फ़ील्ड चौड़ाई printf निर्दिष्ट करने वाला एक पूर्णांक एक फ़ील्ड में कम से कम नंबर वर्णों के बीच ARGUMENT के रूपांतरण को प्रिंट करेगा। यदि आवश्यक हो तो क्षेत्र की चौड़ाई को बढ़ाने के लिए बाएं (या दाएं, यदि बाएं-समायोजन के लिए कहा जाता है) पर गद्देदार किया जाएगा एक अवधि, जो परिशुद्धता से क्षेत्र की चौड़ाई को अलग करती है। एक पूर्णांक, सटीक, जो स्ट्रिंग से मुद्रित करने के लिए अधिकतम संख्याओं को वर्णित करता है, या अंकों की संख्या को अस्थायी बिंदु मान के दशमलव बिंदु के बाद या पूर्णांक के लिए अंकों की न्यूनतम संख्या। ये क्रमशः एक छोटी और लंबी पूर्णांक के बीच अंतर करते हैं, और आमतौर पर केवल कंप्यूटर प्रोग्रामिंग के लिए आवश्यक होते हैं। रूपांतरण वर्ण स्वयं हैं, जो printf को बताते हैं कि किस प्रकार के तर्क की उम्मीद है, इस प्रकार हैं: कृपया ध्यान दें कि printf को रूपांतरण स्ट्रिंग की संख्या की आवश्यकता होती है ताकि उन्हें ARGUMENT के नंबर से मिलान किया जा सके, और उन्हें एक-से-एक के नक्शे मिलते हैं प्रत्येक रूपांतरण स्ट्रिंग के लिए एक दंड एकमात्र अपवाद एक रूपांतरण स्ट्रिंग है जो एक तारांकन चिह्न का उपयोग करता है, ऐसे स्ट्रिंग के लिए दो तर्क दो होते हैं। रूपांतरण स्ट्रिंग का हमेशा से बाएं से दाएं अर्थ है उदाहरण के लिए, निम्नलिखित प्रिंटफ़ कमांड: निम्नलिखित आउटपुट का उत्पादन करता है: व्याख्या की गई बच गई कैरेक्टर श्रृंखलाएं निम्न वर्ण अनुक्रमों को printf द्वारा विशेष वर्णों के रूप में व्याख्या किया जाता है: एक डबल-कोट () प्रिंट करता है एक बैकस्लैश प्रिंट करता है () एक चेतावनी (घंटी बजती है) एक बैकस्पेस प्रिंट आउटपुट प्रिंट करने के लिए निर्देश देता है कि एक एस्केप वर्ण (एएससीआईआई कोड 27) प्रिंट करता है एक क्षैतिज टैब प्रिंट करता है एक ऊर्ध्वाधर टैब प्रिंट करता है एक बाइट को अष्टक मान एनएनएन (1 से 3 अंक) के साथ प्रिंट करता है, हेक्साडेस्किनल मूल्य एचएच (1 ​​से 2 अंक) हेक्साडेसिमल मूल्य एचएचएचएच (4 अंक) के साथ यूनिकोड वर्ण प्रिंट करता है हेक्साडेसिमल मान एचएचएचएचएचएचएचएचएच (8 अंक) के साथ यूनिकोड वर्ण प्रिंट करता है, ऊपर दिए गए के रूप में बताई गई पलायन के साथ एक स्ट्रिंग के रूप में प्रिंट करता है, अपवाद के साथ कि ऑक्टाल पलायन फॉर्म 0 या 0 लेता है एनएएल शेल में उद्धरण अपने शेल द्वारा उद्धृत तारों की व्याख्या के अनुसार सावधान रहें। यदि आपकी शेल आपकी उद्धृत स्ट्रिंग को सही ढंग से व्याख्या नहीं कर रही है, तो डबल-उद्धरणों के बजाय सिंगल-कोट्स का प्रयोग करें। printf उदाहरण निम्न आउटपुट प्रिंट करता है: उपरोक्त उदाहरण के रूप में एक ही आउटपुट प्रिंट करता है। एक स्ट्रिंग बताता है जो आपको अपनी होम डायरेक्टरी के स्थान बताता है। संबंधित आज्ञाएं ए. के.के.के. पाठ प्रसंस्करण प्रोग्रामिंग भाषा के लिए इंटरफ़ेस के लिए एमडीश बीसी mdash एक कैलकुलेटर echo mdash आउटपुट पाठ। stdout में मुद्रित स्वरूपित डेटा मानक आउटपुट (stdout) के लिए प्रारूप द्वारा इंगित C स्ट्रिंग लिखता है। यदि स्वरूप प्रारूप विनिर्देशक (शुरुआत से शुरू होता है) में शामिल होता है, तो निम्नलिखित प्रारूपों के अतिरिक्त आर्गमेंट स्वरूपित होते हैं और परिणामी स्ट्रिंग में उनके संबंधित विनिर्देशकों की जगह होती है। पैरामीटर प्रारूप 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 को लिखने के लिए stdout (function) scanf को स्वरूपित डेटा पढ़ें स्टैडीन (फ़ंक्शन) से फ़ॉर्मेट किए गए डेटा को पढ़ें fprintf स्ट्रीम (फ़ंक्शन) फ़्रीटेट में स्वरूपित डेटा लिखें स्ट्रीफ़ (फ़ंक्शन) फ़ंक्शन के लिए डेटा ब्लॉक करें: मैक्रो स्टंटेंट्स: प्रिंटफ़ कमांड अजनबी, यह बहुत बड़ा विषय जो अनुभव की आवश्यकता है - कृपया लापता जानकारी भरें, विवरणों को भरें, और विवरणों को सही करें यदि आप ध्यान दे सकते हैं: यह बाश-बिल्टिन कमांड के बारे में है- हालांकि, विवरण एक बाह्य कमांड के लिए लगभग समान होना चाहिए जो कि POSIX । GNU Awk को प्रारूप स्ट्रिंग के बाद एक कॉमा और एक printf आदेश के प्रत्येक तर्क के बीच की उम्मीद है। उदाहरण के लिए, देखें: कोड स्निपेट अन्य दस्तावेजों के विपरीत, मैं don039t आपको printf () सी फ़ंक्शन परिवार के लिए मैन्युअल पृष्ठ पर रीडायरेक्ट करना चाहता हूं। हालांकि, यदि आप अधिक अनुभव करते हैं, तो यह प्रारूप स्ट्रिंग्स और संशोधक के लिए सबसे विस्तृत विवरण होना चाहिए। इको कमांड के परस्पर विरोधी ऐतिहासिक कार्यान्वयन के कारण, POSIX अनुशंसा करता है कि printf को प्रतिध्वनित पसंद है। Printf कमांड प्रिंटफ () सिस्टम इंटरफ़ेस (सी फंक्शन) के समान प्रीफॉर्मेटेड पाठ को प्रिंट करने के लिए एक विधि प्रदान करता है। इको के लिए उत्तराधिकारी के रूप में इसका मतलब है और इसमें और अधिक सुविधाएँ और संभावनाएं हैं अन्य कारणों के अलावा, पीओएसआईएसक्स की सिफारिश करने के लिए बहुत अच्छा तर्क है: इको कमांड के दोनों ऐतिहासिक मुख्य फ्लेवर म्यूच्युअल अनन्य होते हैं, वे टकराते हैं। इस मुद्दे को हल करने के लिए एक कमांड लाइन का आविष्कार किया जाना था। पाठ स्वरूप को लेफ्टफार्मगत में दिया गया है जबकि सभी तर्क फॉरमेटस्ट्रिंग इंगित कर सकते हैं उसके बाद, यहां, ltARGUMENTSgt द्वारा इंगित किया गया है। इस प्रकार, एक ठेठ printf - कॉल दिखता है: जहां कहलाते हैं: snName: snquot प्रारूप विनिर्देश है, और दो चर तर्कों के रूप में पारित किए जाते हैं, एस को प्रारूप स्ट्रिंग अंक में (हर प्रारूप स्पेसिफायर के लिए जो आप देते हैं, printf एक तर्क का इंतजार करता है) । यदि दिया जाता है, तो आउटपुट को stdout (किसी तरह से sprintf () की तुलना करने के लिए मुद्रित करने के बजाय चर VAR को असाइन किया जाता है) - वि विकल्प can039t बैश 4.1 से पुराने संस्करणों में सरणी अनुक्रमणिका को सीधे निर्दिष्ट कर सकता है। 4.1 से नए संस्करणों में, printf के पहले गैर-विकल्प तर्क में विस्तार करते समय सावधान रहना चाहिए क्योंकि यह आसान कोड इंजेक्शन भेद्यता की संभावना को खोलता है। जहां प्रतिध्वनि को किसी भी मनमाने ढंग से कमांड के साथ बदल दिया जा सकता है विकल्पों की समाप्ति के संकेत देने के लिए यदि आपको चाहिए, तो हार्ड-कोडित प्रारूप स्ट्रिंग निर्दिष्ट करें या उपयोग करें - सटीक समान मुद्दे को पढ़ने के लिए भी लागू होता है। और मैपफ़ाइल के समान एक हालांकि उनके तर्कों में विस्तार प्रदर्शन कम आम है बेशक, खोल-अर्थ में तर्क सिर्फ तार हैं, हालांकि, आम सी-नोटेशन प्लस संख्या-स्थिरांक के कुछ अतिरिक्त प्रिंटफ़.प्रिंट (1) - लिनक्स मैन पेज printf-format और print पर एक नंबर-तर्क देने के लिए पहचाने जाते हैं। डेटा विवरण FORMAT के अनुसार मुद्रित दलील, या विकल्प के अनुसार निष्पादित करें: --help इस मदद को प्रदर्शित करें और बाहर निकलें आउटपुट संस्करण की जानकारी और बाहर निकलें FORMAT सी प्रिंटफ़ में आउटपुट को नियंत्रित करता है। अनुक्रमित अनुक्रम हैं: दोहरे उद्धरण बैकस्लैश एक चेतावनी (बीईएल) बी बैकस्पेस सी उत्पादन नहीं आगे के आउटपुट ई एस्केप एफ फॉर्म फीड एन नई लाइन आर कैरिज रिटर्न टी क्षैतिज टैब वर्टिकल टैब एनएनएन बाइट ऑक्टल मान के साथ एनएनएन (1 से 3 अंक) एक्सएचएच बाइट हेक्साडेसिमल मूल्य एचएच (1 ​​से 2 अंक) के साथ यूएचएचएचएच यूनिकोड (आईएसआईईसी 10646) हेक्स वैल्यू एचएचएचएच (4 अंक) के साथ यूएएचएचएचएचएचएचएचएच यूनिकोड वर्ण हेक्स वैल्यू एचएचएचएचएचएचएचएचएच (8 अंक) के साथ एक बी बग एक स्ट्रिंग के रूप में समझा जाता है कि एस्केटल को छोड़कर, पलायन फॉर्म 0 या 0 एनएनएन और सभी सी स्वरूप विनिर्देश हैं जो कि डायओक्स एक्सफे ईगजीसीएस में से एक के साथ समाप्त होता है, जिसमें एग्रीगमेंट्स को उचित प्रकार के रूप में परिवर्तित किया जाता है। परिवर्तनीय चौड़ाई को संभाला जाता है। नोट: आपके शेल का अपना स्वयं का संस्करण printf हो सकता है, जो आमतौर पर वर्णित संस्करण को प्रतिस्थापित करता है। कृपया उन विकल्पों के बारे में विवरण के लिए अपने गोले दस्तावेज देखें, जो यह समर्थन करता है। डेविड मैकेंज़ी द्वारा लिखित रिपोर्टिंग कीड़े कॉपीराइट 2018 फ्री सॉफ्टवेयर फाउंडेशन, इंक। लाइसेंस GPLv3: GNU GPL संस्करण 3 या बाद में ltgnu. orglicensesgpl. html gt। यह मुफ़्त सॉफ्टवेयर है: आप इसे बदलने और पुनर्वितरित करने के लिए स्वतंत्र हैं। कानून द्वारा अनुमत सीमा तक कोई वारंटी नहीं है Printf के लिए पूर्ण दस्तावेज एक Texinfo पुस्तिका के रूप में बनाए रखा है। यदि सूचना और प्रिंटफ़ प्रोग्राम आपकी साइट पर ठीक से इंस्टॉल हो जाते हैं, तो कमांड इन्फॉर्मेशन कोरिटिल्स aqprintf invocationaq को आपको पूर्ण मैनुअल तक पहुंच प्रदान करनी चाहिए। द्वारा संदर्भित

Comments