1

以下应用程序在第一行给我一个访问冲突,这是怎么回事?

// 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;
}
4

1 回答 1

1

您的程序中的明显错误是您在使用 xerces-c 之前没有对其进行初始化。

http://xerces.apache.org/xerces-c/program-2.html

XMLPlatformUtils::Initialize()在对 xerces-c 进行任何其他调用之前,您必须先调用。

于 2010-06-21T16:04:56.787 回答