2016-01-20 8 views
5

मैं वर्तमान में सी का अध्ययन कर रहा हूं, यदि यह प्रश्न एक आसान या एक नौसिखिया लगता है, तो आप जानते हैं क्यों। c एस्केप अनुक्रम मैन में सूचीबद्ध है लेकिन सी

के लिए पढ़ना man page printf मैं \ ग एक एस्केप अनुक्रम के रूप में सूचीबद्ध पाया। इसका वर्णन

आगे नहीं उत्पादन

मैं कभी नहीं देखा और के बारे में \ ग इस समय से पहले सुना है का उत्पादन है। तो मैं एक साधारण नमस्ते दुनिया कार्यक्रम में इसे आज़माने का फैसला किया:

चेतावनी: अज्ञात एस्केप अनुक्रम:

printf("\nHello World\n\n\c"); 

नतीजतन, जीसीसी मुझे यह चेतावनी देता है '\ ग' [रूप से सक्षम डिफ़ॉल्ट]

यह मेरे लिए अजीब की तरह लगता है, इसलिए मैं इसे गर्त आगे की जांच के लिए चला गया: मैं Wikipedia और के पास गया \ ग बचने के रूप में सूचीबद्ध नहीं किया गया था अनुक्रम ... इसलिए मैंने वेब के चारों ओर खोज करने की कोशिश की, और यहाँ ढेर ओवरफ्लो पर। मैं करने के लिए बहुत कुछ संदर्भ पाया है \ ग (वास्तव में दो) के रूप में this topic और this one में चर्चा (मुझे लगता है कि बाद वास्तव में सी से संबंधित नहीं है लेकिन ऐसा लगता है कि हम 'के बारे में एक ही बात कर रहे हैं \ c ", दिए गए विवरण को पढ़ना)। कोई मुझे इस बात को समझने में मदद कर सकता है?

+0

मैं 'C11' मानक के रूप में किसी भी कार्य संदर्भ के बारे में पता नहीं है: यहाँ वर्गों के सारांश है। क्या आप मैन पेज से लिंक कर सकते हैं? –

+0

@ सौरवगोश http://linux.die.net/man/1/printf, यह भी सूचीबद्ध है जब मैं टर्मिनल में मैन प्रिंटफ टाइप करता हूं। –

+0

मैनपेज 1 कमांड के लिए नहीं है? बस कह रहा है, मैंने मैन 3 –

उत्तर

6

आप सही आदमी पृष्ठ को पढ़ रहे हैं। आप जो देख रहे हैं वह है: man 1 printf, जो शेल कमांड printf के बारे में है, सी मानक फ़ंक्शन printf नहीं।

उपयोग:

man 3 printf 

सी पुस्तकालय समारोह के बारे में पढ़ने के लिए। \c सी में नहीं है और इसलिए, यह printf(3) द्वारा पहचाना नहीं गया है।

printf(1) आप दस्तावेज के रूप में काम करते हैं।

$ /usr/bin/printf "ABC\chi" 

पैदा करता है:

ABC 

नोट सामान्य रूप में लिनक्स आदमी पृष्ठों को भी अतिरिक्त अमानक एक्सटेंशन और POSIX एक्सटेंशन (लिनक्स या glibc के लिए विशिष्ट) आदि गैर मानक एक्सटेंशन आमतौर पर कर रहे हैं हो सकता है इस तरह के दस्तावेज के रूप में दस्तावेज लेकिन याद करने में आसान है। तो यदि आप सी मानक के बारे में क्या देख रहे हैं तो आपको सी मानक देखना चाहिए। यहां एक online draft है।

अगर आप सोच रहे हैं, तो क्या संख्याman को पारित कर दिया है, यह अनुभाग संख्या है। लाइब्रेरी फ़ंक्शन से मेल खाता है। आप विवरण प्राप्त कर सकते हैं: man man

1 Executable programs or shell commands 
    2 System calls (functions provided by the kernel) 
    3 Library calls (functions within program libraries) 
    4 Special files (usually found in /dev) 
    5 File formats and conventions eg /etc/passwd 
    6 Games 
    7 Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7) 
    8 System administration commands (usually only for root) 
    9 Kernel routines [Non standard] 
+0

ग्रेट सारांश! आपको यह कहाँ से मिला? –

+1

@terencehill आप अनुभाग संख्या का मतलब है? 'आदमी आदमी' से। –

+0

मैंने सोचा, लेकिन ओएस एक्स पर नहीं है। शायद मुझे लिनक्स पर वापस जाने पर विचार करना चाहिए ... –

संबंधित मुद्दे