कोई सी ++ स्ट्रीम खुलने पर कोई विशिष्ट त्रुटि स्थिति प्राप्त करने का कोई तरीका है? यानी, यह विफल रहा है क्योंकि फ़ाइल मौजूद नहीं थी, या अनुमतियां गलत थीं, या आदि। मूल रूप से मैं सादे सी में fopen() के लिए इरनो के समतुल्य कार्यक्षमता की तलाश में हूं।क्या कोई सी ++ स्ट्रीम खुलने पर आपको एक विशिष्ट त्रुटि स्थिति मिल सकती है?
जीसीसी ठीक से गलत तरीके से सेट करना प्रतीत होता है , लेकिन ऐसा लगता है कि सी ++ मानक द्वारा इसकी आवश्यकता नहीं है और मैं यह निर्धारित नहीं कर सकता कि क्या यह धाराओं को लागू करने के तरीके या एक जानबूझकर विशेषता का एक आर्टिफैक्ट है (और इस प्रकार मुझे नहीं पता कि यह पूरे संस्करण)।
क्या इस जानकारी को विश्वसनीय सी ++ में या गलती से एक या अधिक प्रमुख कंपाइलरों में प्राप्त करने का कोई तरीका है?
क्या आपके पास वीएस दस्तावेज़ में यह कहां रखा गया है? मैं एमएसडीएन पर स्ट्रीम पेज देख रहा हूं लेकिन मुझे इस व्यवहार का कोई उल्लेख नहीं मिल रहा है। मैं यह नहीं कह रहा हूं कि यह इस तरह काम नहीं करता है लेकिन कुछ आधिकारिक दस्तावेज़ देखना अच्छा होगा। –
मुझे नहीं लगता कि यह वीएस दस्तावेज़ों में रखी गई है। या शायद मेरा google-foo बहुत कमजोर है। हालांकि मुझे कई फ़ोरम पोस्टों को मेरी यादों का समर्थन करने के लिए मिला है जो फॉपेन और जैसे ही उनके समकक्ष Winapi कार्यों के आसपास सभी रैपर हैं। तो fopen वास्तव में CreateFile को कॉल कर रहा है, जो त्रुटि कोड सेट करता है। भले ही, एक त्वरित परीक्षण इसे सहन करना चाहिए (कम से कम फ़ाइल त्रुटियों को अनुकरण करने के लिए आसान)। मैं इसे स्वयं करता हूं और परिणाम पोस्ट करता हूं। लेकिन, हां, इस समय मेरे पास दृश्य स्टूडियो तक आसानी से पहुंच नहीं है। –