使用C ++写入Excel文件

我们需要parsing一个文件,并使用C ++将数据写入excel文件。 我做了一个search,find了一个能够达到我的目的的项目。 http://www.codeproject.com/KB/office/ExcelFormat.aspx

请在下面的几行代码中find发生错误的地方。

typedef std::ctype CT; CT const& ct = std::_USE(std::locale(), CT); ct.widen(&str[0], &*str.begin()+str.size(), &ret[0]); 

上述函数(例如_USE)似乎与VC ++有关。 有人可以让我知道上面的代码是什么? 以及如何在本地C ++函数中实现相同的function?

请让我知道是否需要其他信息…

谢谢!!

没有进一步的信息很难回答。 无论如何,我会尝试

 CT const & ct = std::use_facet<CT>( std::locale() ); 

长话短说,这段代码是根据您的计算机的字符数组的偏好重新格式化string。

这一行创build一个包含所述首选项的C语言环境构面。 std :: locale()是实际指定这些首选项,并且据我所知,第二个input指定_USE函数的输出types是什么。

 std::ctype const& ct = std::_USE(std::locale(), std::ctype); 

第二行使用新创build的C语言环境构面来重新格式化c ++stringstr以交stream样式string(char数组)ret。

 ct.widen(&str[0], &*str.begin()+str.size(), &ret[0]); 

我能想到的最简单的方法是:

 char ret[str.size()]; strncpy(ret, str.c_str(), str.size()); 

但是,这消除了所有的语言环境格式,这取决于单词之后发生的情况,可能会或可能不会成为问题。

如果你想保持语言环境,那么不要使用_USE函数,而是试着查看ctype构造函数。 特别:

 ctype(c_locale cloc, const mask *table, bool del, size_t refs)