一行中的错误Xerces程序

时间:2010-06-21 15:50:40

标签: c++ xerces transcode

以下应用程序在第一行给出了访问冲突,有什么用?

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

1 个答案:

答案 0 :(得分:1)

程序中明显的错误是你在使用之前没有初始化xerces-c。

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

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