xml - 为什么我会收到错误,XML_IO_FLUSH,使用 xmlDocDump
问题描述
使用“w”、“w+”和“w+b”模式,我得到 XML_IO_FLUSH。
打开文件后,我可以成功调用 fputs() 和 fclose() 并获得正确的预期结果。
顺便说一句:我使用 xmlDocDumpFormatMemory() 解决了这个问题,并处理了与 libxml2 分开的文件 IO。
编辑:使用此代码调用 setvbuf() 时,我能够超越原始问题:
MSEXPORT int WriteXMLDocFile(xmlDocPtr doc, char* filename) // Write Doc to file
{
#include <stdio.h>
FILE* fp = fopen(filename, "w+");
if (fp == NULL) return -2;
#define BUFSIZE 1024
char buf[BUFSIZE];
int err = setvbuf(fp, buf, _IOFBF, BUFSIZE);
snprintf(dan, BUFSZ, "err = %d BUFSIZ = %d", err, BUFSIZE); DEBUG_MSG(dan);
int rtn_val = xmlDocDump(fp, doc);
snprintf(dan, BUFSZ, "size = %d", rtn_val); DEBUG_MSG(dan);
fclose(fp);
return rtn_val;
}
虽然它产生了预期的长度,但崩溃了。
解决方案
我能够通过使用xmlSaveFile()
而不是解决这个问题xmlDocDump()
推荐阅读
- java - java-repaint() 方法行为不端?
- java - 与 Nationbuidler API 交谈时,无法使用 jackson 将链接的哈希映射转换为 json 对象
- bash - 使用 nmap 循环遍历每个 ip?
- python - python - 如何在保存为图像之前获取数据/计算矩阵?
- selenium - 在查找损坏的链接脚本(使用 Selenium Robot Framework)中 - 在获取请求 URL 中,通过附加
- python - 如何使用 opencv 和 python 在网络摄像头上叠加 3d 对象?
- wordpress - 在 wordpress 中的作者标签之前显示“发布者”
- json - 从http请求解码json时出现EOF错误
- java - 捕获 FileNotFoundException Java
- emacs - 使用远程(tramp)python文件但不是本地时,强制flycheck模式在emacs中关闭