संभव डुप्लिकेट:
Getting Filename from file descriptor in Cक्या फ़ाइल नाम 'फ़ाइल * से प्राप्त करने का कोई तरीका है?
वहाँ एक सरल और (यथोचित) पोर्टेबल एक FILE*
से फ़ाइल नाम होने का तरीका है?
मैं f = fopen(filename, ...)
का उपयोग कर एक फ़ाइल खोलता हूं और फिर f
को कई अन्य कार्यों में भेजता हूं, जिनमें से कुछ एक त्रुटि की रिपोर्ट कर सकते हैं। मैं त्रुटि संदेश में फ़ाइल नाम की रिपोर्ट करना चाहता हूं लेकिन अतिरिक्त पैरामीटर को पार करने से बचें।
मैं एक कस्टम रैपर struct { FILE *f, const char *name }
बना सकता हूं, लेकिन क्या शायद एक आसान तरीका है? (FILE*
fopen
का उपयोग करके खोला नहीं गया था, मुझे परिणाम की परवाह नहीं है।)
डुप्लिकेट http://stackoverflow.com/questions/1188757/getting-filename-from-file-descriptor-in-c –
कोई मानक तरीका जो मुझे पता है; 'फ्रीपेन' आपको पढ़ने/लिखने, और बाइनरी/सामान्य मोड को बदलने देगा, लेकिन यदि आप अपना स्वयं का नाम चाहते हैं (एक त्रुटि संदेश प्रिंट करने के लिए कहें) तो आप भाग्य से बाहर हैं। – dmckee
चूंकि आप एक ऐसे सिस्टम का उपयोग कर रहे हैं जिसमें फ़ाइल संरचना है, मुझे संदेह है कि "एक अतिरिक्त पैरामीटर के आसपास गुजरना" भी एक मुद्दा है? इसे पास करने के लिए आपका कारण क्या है? प्रदर्शन? – Lundin