मुझे अपने सी प्रोग्राम में एक अस्थायी फ़ाइल बनाने की आवश्यकता है, इसके लिए कुछ डेटा लिखें, और उसके बाद मैंने बनाई गई फ़ाइल पर कुछ प्रोसेसिंग करने के लिए बाहरी कमांड (निष्पादन या सिस्टम के माध्यम से) का आह्वान करें। मैंने बाहरी कमांड नहीं लिखा और न ही यह मेरे प्रोग्राम में इसे एकीकृत करने के लिए व्यवहार्य है, इसलिए मुझे नहीं लगता कि मैं इसके साथ पहले से ही खुले डिस्क्रिप्टर को साझा कर सकता हूं। इसलिए, मुझे बनाई गई अस्थायी फ़ाइल का नाम जानना होगा।मैं एक अस्थायी फ़ाइल कैसे खोलूं और उसका फ़ाइल नाम कैसे प्राप्त करूं?
tempname() फ़ंक्शन यह करता है, लेकिन दुर्भाग्यवश यह अनुशंसा करता है कि आप नाम का उपयोग करने और फ़ाइल खोलने के बीच संभावित दौड़ की स्थिति के कारण स्वयं का उपयोग न करें, और न ही कार्यों के अनुशंसाओं में से कोई भी (tmpfile और mkstemp) बनाई गई फ़ाइल के वास्तविक नाम का पता लगाने का एक तरीका प्रदान करें।
'mkstemp' नाम देता है; यह एक्स को वास्तविक मानों के साथ बदलकर पारित टेम्पलेट तर्क (जो एक char *, एक कॉन्स char * नहीं है) को संशोधित करेगा। – Joe