2010-07-07 9 views
7

मान लीजिए कि मैं इस तरह लिखने के लिए एक फाइल बना रहा हूं:Fstream के साथ लिखी गई फ़ाइल में कौन सी अनुमतियां हैं?

std::ofstream my_file("filename", std::ios_base::out | std::ios_base::trunc); 

इस फ़ाइल की अनुमतियां कैसे निर्धारित की जाती हैं? मेरे पास प्रोग्राम एक रात में लगभग एक बार फाइलें उत्पन्न करने वाला प्रोग्राम चला रहा है - कुछ 0644 हैं लेकिन अन्य 0660 हैं, और मेरे कोड में कुछ भी नहीं है जो इसे बदलना चाहिए। (मैंने देखा है कि कुछ कार्यान्वयन फ़ाइल अनुमतियों को सेट करने के लिए तीसरे तर्क की अनुमति देते हैं - मैं जीसीसी 4.1.2 का उपयोग कर रहा हूं जो इसका समर्थन नहीं करता है)।

+0

जैसा कि अन्य ने कहा है, विशेषताएं उमास्क पर निर्भर करती हैं। चूंकि आपने कहा था कि आपका कोड फ़ाइल विशेषताओं को संशोधित नहीं करता है, शायद अन्य अनुप्रयोग यह करते हैं? – PeterK

+0

ठीक है, यह समझ में आता है - सुनिश्चित नहीं है कि मेरा प्रोग्राम क्या कर रहा था, लेकिन अगर ऐसा होता है तो मैं उस पर नजर रखूंगा। – jrb

+0

मैंने अपनी मूल "समस्या" फिर से देखी - मुझे लगता है कि यह एक ही साझा लाइब्रेरी के कुछ अलग संस्करणों के खिलाफ मेरे ऐप को बनाने और चलाने के कारण हुआ था, जो अन्य अजीब चीजें होने लगती थी। मुझे अभी भी लगता है कि प्रश्न पूछने लायक था :) – jrb

उत्तर

0

डिफ़ॉल्ट atters umask कमांड के साथ सेट हैं। यह आपकी फाइलों के एटर्स में बदलाव नहीं बताता है, लेकिन फिर भी आपके लिए उपयोगी हो सकता है

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