2010-11-15 28 views

उत्तर

19
#include <stdio.h> 

void adx_store_data(const char *filepath, const char *data) 
{ 
    FILE *fp = fopen(filepath, "ab"); 
    if (fp != NULL) 
    { 
     fputs(data, fp); 
     fclose(fp); 
    } 
} 
1

कुछ इस तरह यह करना चाहिए:

#include <stdio.h> 
: : : 
int adxStoreData (char *filepath, char *data) { 
    int rc = 0; 

    FILE *fOut = fopen (filepath, "ab+"); 
    if (fOut != NULL) { 
     if (fputs (data, fOut) != EOF) { 
      rc = 1; 
     } 
     fclose (fOut); // or for the paranoid: if (fclose (fOut) == EOF) rc = 0; 
    } 

    return rc; 
} 

यह फ़ाइल मैं/हे समस्याओं के रूप में विभिन्न त्रुटि की स्थिति की जाँच करता है और 1 (सही) देता है ठीक है, 0 (गलत) अन्यथा । यह शायद कुछ है जो आप PHP में भी कर रहे हैं।

+2

fclose (fOut) के बारे में कैसे? = ईओएफ? ;-) –

+1

और शायद यह सुनिश्चित करने के लिए फ़ाइलपैथ और डेटा पर कुछ आवेषण भी होना चाहिए कि न तो नल? ;-) –

+2

यह जांचना कि क्या 'fclose()' सफल हुआ है, वह सिर्फ परावर्तक नहीं है। आउटपुट आमतौर पर buffered है; यह संभावना है कि फ़ाइल को 'fclose()' कॉल तक वास्तव में कुछ भी नहीं लिखा जाएगा। –

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