मैं टेक्स्ट फ़ाइल में आउटपुट लिखने के लिए सी में fopen का उपयोग कर रहा हूं। समारोह घोषणा है (जहां ARRAY_SIZE
पहले परिभाषित किया गया है):fopen/fopen_s और फ़ाइलों को लिखना
void create_out_file(char file_name[],long double *z1){
FILE *out;
int i;
if((out = fopen(file_name, "w+")) == NULL){
fprintf(stderr, "***> Open error on output file %s", file_name);
exit(-1);
}
for(i = 0; i < ARRAY_SIZE; i++)
fprintf(out, "%.16Le\n", z1[i]);
fclose(out);
}
मेरे सवालों का:
- MVS2008 साथ
संकलन को मैं चेतावनी मिलती है: C4996 चेतावनी: 'fopen': यह समारोह या चर असुरक्षित हो सकता है। इसके बजाय fopen_s का उपयोग करने पर विचार करें। मुझे
fopen_s
पर अधिक जानकारी नहीं मिली है ताकि मैं अपना कोड बदल सकूं। कोई सुझाव? एक
fprintf
निर्देश दे सकते हैं एक वांछित संख्यात्मक परिशुद्धता एक फ़ाइल को पर संख्या लिखने के लिए? अगर मैंlong double
का उपयोग कर रहा हूं तो मुझे लगता है कि मेरे अंक दशमलव बिंदु के बाद 15 अंकों तक अच्छे हैं। क्या मैं सही हू?
एफओपीएन() के बारे में कुछ भी दूरस्थ रूप से असुरक्षित नहीं है, लेकिन एमएस में कुछ लोगों ने उन कार्यों पर अपने सामूहिक पत्थर खो दिए हैं जो पैरामीटर के रूप में शून्य-समाप्त तारों को लेते हैं। –
मेरा मानना है कि यह माइक्रोसॉफ्ट द्वारा विंडोज़-केवल प्रोग्रामिंग में लोगों को लॉक करने के लिए एक साजिश है। – stackptr