EVC中数据转换问题(TCHAR)

benbeu   2008-5-27 16:58 楼主
TCHAR *nTargetAddress
m_SockAddrIn.sin_addr.S_un.S_addr=inet_addr(nTargetAddress);

error C2664: 'inet_addr' : cannot convert parameter 1 from 'unsigned short *' to 'const char *'
不知道这个怎么转?API里面是不是不能用CHAR类型?
谢谢!

回复评论 (6)

大家帮一下忙.........
点赞  2008-5-27 16:59
nTargetAddress是一个UNICODE的CHAR(2个字节)
inet_addr这个函数只能接受1个字节的char类型。

所以出错,可以先进行转换。
点赞  2008-5-27 17:39
楼上正解。。。
直接将nTargetAddress声明为char吧。
如果nTargetAddress还是继续w_chart类型,那么用WideCharToMultiByte进行转换吧
点赞  2008-5-27 18:10
"API里面是不是不能用CHAR类型"

这个问题不是固定的。

在使用系统的api前,最好看一下使用的结构的参数,这样就不会犯这样的问题了。
点赞  2008-5-27 18:18
不知道怎么解决
点赞  2008-5-28 09:33
inet_addr()

需要传入一个char* 类型的东西。

你明白了没有?
点赞  2008-5-28 12:16
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复