C/C++???????????????????
??????????? ???????[ 2017/3/29 10:53:22 ] ??????????????????? C++
????????????C/C++??????????У???????????????????????????????????????????????????????????????????????????磬?????????????????????????????????????????????????????????????????????????????????????????????????????????????????麯????????Ч????檔
????????????????????????????????????С???????п???????????淸??????????к???????????????????Щ????????????????????????????????????????????????漸???
????1?????????????malloc??new??????????棬?????????淵???????????????????????????????????????????????????????????????????????????治?????????memory Leak??????????????????????????crash?????????????????????????????????????????????????ЩWindows API?У???????????ЩAPI??????????????????ЩAPI??????????棩
????2????????????????????????????????????а???????????????????С????????????????????????Windows API??????????C????????????????buffer?????buffer??????????????????????????????????????????????????????????????????????棬???????????????????????????????Щ?鷳??????????????????????????????
????3???????????????????????????static???????static????????????????????治???????????????????????????????????????????????????????????????Щ?????????static?????????????????????????棬????????????????buffer???????????????????????????ú???????????????á?
???????????????????????????Щ????????static?????????????????????????????????????????塣???????????????????????????????????ɡ?
???????
?????й?socket???????????????????????У?inet_ntoa??????????????????????????????IP?????????????????????????????????????????????????
????char *inet_ntoa(struct in_addr in);
?????????????????????????????棬???????????????????????buffer???????????????“????static char[]”?????????????????????????????????????????????IP?????????????????inet_ntoa???????????????????????????????????????member??struct???????struct?и????????????????????????????????
????C++????
????struct in_addr {
????unsigned long int s_addr;
????}
????????IPV4????????IP????????8λ??bit?????????s_addr?У???λ????????????????紫??????????????s_addr??????????3776385196????????????Windows????????????????????????????????????????8λ???饗???????????
????11100001 00010111 00010000 10101100
????????????????????????????????225 23 16 172?? ????IP????? 172.16.23.225??
?????????????????????????????????????????????????????????????????????????μ????
????C++????
????struct in_addr src?? des;
????........
????........
????fprintf(fp?? "?IP???<%s>/t???IP???<%s>/n"?? inet_ntoa(src)?? inet_ntoa(des));
????????????????????????????????е??IP????????IP?????????????????????????????????????????????src.s_addr??des.s_addr??????????????????????????????????????????????????????????inet_ntoa??bug??
????C++????
????src.s_addr = 3776385196; //?????172.16.23.225
????des.s_addr = 1678184620; //?????172.16.7.100
?????????inet_ntoa()“????????”????????static char[]????????????????????????????????塣???????????????fprintf??????????fprintf??????????????inet_ntoa(des)???????????????????????????????????inet_ntoa(src)???????????????????????????????????????????inet_ntoa()?????static char[]?????????????????????????src??IP?????????des??IP???????????src??IP?????????????????????????????涼???????????????????????fprintf?????????????????????????????????????????????????????????
????????????inet_ntoa??man??????????????仰??The string is returned in a statically allocated buffer?? which subsequent calls will overwrite. ??????????????
????С??
???????????????????????£???????д??????????????????????????????????????Σ????????????????????????????????????????????????????????
????C++????
????if ( strcmp( inet_ntoa(ip1)?? inet_ntoa(ip2) )==0 ) {
????…. ….
????}
?????????ж????????IP????????????????????????????——????????????????檔
?????????????????????漸???????
????1??????????????????????????????static????к??????塣
????2?????????????????????????????????????????????????????????????????????ж?????????????????????????????????copy?????????????????????????淵?????????????????????????????????????????
????3??C/C++???Σ??????磬?????????????????????????ɡ?
????????????Efftive C++?????????????????????????item 23?????????????????????á??????????????????????????static????????????????????????????
??????
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11