从ANSI转换为Unicode

时间:2010-02-09 07:16:59

标签: c++ visual-c++ unicode multibyte

我正在使用Visual Studio .NET 2003,而我正在尝试将纯ANSI字符编写的程序转换为独立于Unicode /多字节字符。

该程序具有pcap_loop的回调函数,称为“got_packet”。它被定义为

void got_packet(u_char *user, const struct pcap_pkthdr *header, const u_char *cpacket)
{
   USES_CONVERSION;
   _TUCHAR *packet;
   packet = A2T(cpacket);
   ...
} 

但是,我收到错误消息

error C2440: 'type cast': cannot convert from 'const u_char *' to 'ATL::CA2WEX<>'

如何解决此问题?

1 个答案:

答案 0 :(得分:1)

我的猜测是ATL不知道u_char因此无法选择正确的转换。试试这个:

packet = A2T((char *)cpacket);

有关详细信息,请参阅