मैं सिर्फ पता चला कि getline()
समारोह जो मूल रूप से एक जीएनयू विस्तार है अब POSIX 2008 मानक का हिस्सा है।स्थिति
क्या कुछ अवलोकन है कि POSIX का यह संस्करण किस प्रकार समर्थित है?
मैं सिर्फ पता चला कि getline()
समारोह जो मूल रूप से एक जीएनयू विस्तार है अब POSIX 2008 मानक का हिस्सा है।स्थिति
क्या कुछ अवलोकन है कि POSIX का यह संस्करण किस प्रकार समर्थित है?
मैं सिर्फ आगे जाना है और यह प्रयोग करेंगे। इसे लागू करने के संभव है getline
(लेकिन अधिक शक्तिशाली getdelim
) एक बहुत तेज/कुशल आवरण के आसपास fgets
के रूप में है, इसलिए यदि आपको लगता है कि एक वापस आने के रूप में, getline
का उपयोग कर वास्तव में अपने कार्यक्रम के किसी भी कम पोर्टेबल नहीं है करने के लिए तैयार कर रहे हैं। (__fpending
का उपयोग कर, portably लागू नहीं किया जा सकता है जो किया और अनुकरण करने के लिए एक कार्यान्वयन विशेष हैक की आवश्यकता की तरह कुछ बनाम।)
इसके अलावा, जाहिर है, दोनों getline
और getdelim
बस flockfile
/funlockfile
और fgetc
के शीर्ष पर लागू किया जा सकता। यह बहुत कुशल नहीं है, लेकिन यह कहीं भी काम करेगा।
'getdelim' और' getline' को '% 200 [^ x] 'रूपांतरण विनिर्देशक के साथ' fscanf' के शीर्ष पर भी लागू किया जा सकता है, जहां 'x' प्रतिस्थापित किया गया है, आपके द्वारा बफर स्पेस की मात्रा के साथ डिलीमीटर चरित्र के साथ आप 200 और रोकना चाहते हैं। (आप 'उपयोग कर सकते हैं' %%% zu [^% c] 'इस रूपांतरण विनिर्देशक उत्पन्न करने के लिए साथ snprintf'।) –
+1 पोर्टेबल –