一个关于inet_ntoa*()函数的问题 inet_ntoa函数是将IP地址转化为字符串的函数,但是转化后返回的是一个远指针,想要把里面的内容COPY出来,该怎么办?用MEMCPY函数嘛?但是COPY的长度怎么掌握? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 直接memcpy或者strncpy反正ipv4的最大长度为16(加上结束符) 1楼,如果不到16位长,用MEMCPY过来以后,多余的字符怎么处理,因为网络数据包是随机抓的,这个长度不可能掌握的。。有没有更好的办法? 最多拷16位嘛如:char client_ip[16];memset(client_ip, 0, sizeof(client_ip));memcpy(client_ip, inet_ntoa(...), 16); 如果一个函数返回字符串,肯定以经\0结束的,否则就不叫字符串了(我是指LPCTSTR或者LPTSTR等类型),你想想,如果不按0结束,返回的字符串,别人怎么使用,除非它在返回一个字符串长度。所以,你的问题,直接strcpy就行了,或者直接赋给一个CString即可。 4楼,直接赋给一个CString就行,是不是这样写?CString sip,dip;sip = *inet_ntoa(sou_ip);dip = *inet_ntoa(des_ip); CString sip,dip; sip = inet_ntoa(sou_ip); dip = inet_ntoa(des_ip); VC++6.0(overlay)附加数据是怎么加上去的 CArray中存放的内容没有RemoveAll()会造成内存的泄露吗 招聘软件工程师(工作地点广州科学城) 串口通信中通过什么函数设置起始位?? !!!一个高三学生 对大学专业的选择问题!!! 怎么管理多个模板?在哪里选择? 有没有办法让toolbar填充整个MainFrame? 别人作的东西CButtonST,我怎么用呢 请问一个我第一次碰到的问题! 求教VS生成安装包 把安装包中指定DLL复制到system32下并注册 VC++ 的消息传递 VC中怎么使用水晶报表,急!
或者strncpy
反正ipv4的最大长度为16(加上结束符)
如:
char client_ip[16];
memset(client_ip, 0, sizeof(client_ip));
memcpy(client_ip, inet_ntoa(...), 16);
sip = *inet_ntoa(sou_ip);
dip = *inet_ntoa(des_ip);
sip = inet_ntoa(sou_ip);
dip = inet_ntoa(des_ip);