2013-09-09 2 views
0

Я начал использовать формат XML для создания файла, для этого я использую этот код:сохранения простых XML-файлы

void xml_create_file() 
{ 
    mxml_node_t *xml; 
    mxml_node_t *data; 
    FILE *f; 

    xml = mxmlNewXML("1.0"); 
    data = mxmlNewElement(xml, "setting"); 
    data = mxmlNewElement(xml, "URL"); 
    data = mxmlNewText(data, 0, "http://192.168.55.55"); 

    f = fopen("/etc/share/backup.xml", "wb"); 
    if (f==NULL) { 
     close(f); 
     printf("backup could not be written.\n"); 
    } 
    else { 
     mxmlSaveFile(xml, f, MXML_NO_CALLBACK); 
     close(f); 
     mxmlDelete(data); 
     mxmlDelete(xml); 
     printf("backup Saved\n"); 
    } 
} 

когда я проверяю файл /etc/share/backup.xml, я обнаружил, что она пуста! !!

как решить эту проблему?

Примечание: Я использую microxml LIB

+0

Почему вы открываете файл XML в двоичном режиме ? – unwind

+0

В чем проблема при использовании двоичного режима? –

+1

Что это за функция 'close()'? Вы должны использовать 'fclose' для закрытия файлов, открытых с помощью' fopen'. – user694733

ответ

1
close(f) 

должен быть

fclose(f) 

(компилятор должен был предупредить вас об этом.)

Смежные вопросы