0

我正在尝试使用 pugiXML 从 VC++ 2010 中的表单插入数据。

问题是,每当我尝试输入数据时,都会收到此错误:

Error   1   error C2664: 'pugi::xml_node::set_value' : cannot convert parameter 1 from 'System::String ^' to 'const pugi::char_t *'

我用来插入数据的代码是这样的:

descr.append_child().set_value(eClass->Text);

文档指出这些函数接受字符串参数,所以我不确定为什么会出现“预期的 char_t”错误。

4

2 回答 2

1

你似乎试图通过一个

System::String

到 pugixml。该字符串不是 char *,而是 CLR 字符串。你需要使用

PtrToStringChars() 

访问实际内容并固定字符串。

在此处查看如何将其内容传递给接受 char * 或 wchar_t * 的函数。

于 2014-10-30T16:49:28.190 回答
0

您是否尝试将字符串转换为 char* ?

descr.append_child().set_value(eClass->Text.c_str());

于 2014-11-16T00:14:12.493 回答