int PASCAL FAR recvfrom( SOCKET s, char FAR* buf, int len, int flags,struct sockaddr FAR* from, int FAR* fromlen);
函数原型是这样滴,废话不多说,最后一个参数错误。
最后一个参数fromlen的长度错误,应该给他一个初始化值,大小为struct sockaddr 的大小
既是:
int fromlen=sizeof(struct sockaddr );
再测试一次···应该OK了
===============================================================================================================
http://blog.csdn.net/cyhong9/article/details/8177494
一。定义如:map < int, CString > 或者 map < int, 结构体名>的元素遍历
map < int, CString > maps; 或者map < int, 结构体名> maps;
for(int i=0;i < maps. size() ; i++)
{
CString s=maps[ i ];
}
二。定义如:map < CString , 结构体名> 的元素遍历
map < CString , 结构体名> maps;
map < CString , 结构体名> : : iterator iter;
for( iter=maps.begin(); iter!=maps.end(); iter++)
{
CString a= iter - > first;
结构体名 p = iter - > second;
}
===============================================================================================================C++ map的遍历 一般使用迭代器遍历比较方便。map<string,int> m;
map<string,int>::iterator it;
it = m.begin();
while(it != m.end())
{
//it->first;
//it->second;
it ++;
}