以下应用程序在第一行给出了访问冲突,有什么用?
// test.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
#include <xercesc/util/XMLString.hpp>
using namespace xercesc;
int main()
{
XMLCh* path= XMLString::transcode("test.xml");
return 0;
}
[编辑] 下面的代码在XMLFormatTarget行上给出了一个例外,但如果我将字符串从“C:/test.xml”更改为“test.xml”,它可以正常工作。
// test.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
#include <xercesc/util/XMLString.hpp>
#include <xercesc/framework/LocalFileFormatTarget.hpp>
using namespace xercesc;
int main()
{
XMLPlatformUtils::Initialize();
XMLFormatTarget *formatTarget = new LocalFileFormatTarget("C:/test.xml");
return 0;
}
答案 0 :(得分:1)
程序中明显的错误是你在使用之前没有初始化xerces-c。
http://xerces.apache.org/xerces-c/program-2.html
在对xerces-c进行任何其他调用之前,您必须先致电XMLPlatformUtils::Initialize()
。