帮我个忙,把这段个代码中的sprintf给设法去了。
String IPGetMac(String IPStr)
{
HRESULT hr;
IPAddr ipAddr;
ULONG pulMac[2];
ULONG ulLen;
size_t i, j;
char * szMac = new char[18];
PBYTE pbHexMac = (PBYTE) pulMac;
String ReStr;
ulLen = 6;
ipAddr = inet_addr(IPStr.c_str());
memset (pulMac, 0xff, sizeof (pulMac));
SendARP (ipAddr, 0, pulMac, &ulLen);
if(ulLen > 0){
for (i = 0, j = 0; i < ulLen - 1; ++i) {
j += sprintf (szMac + j, "%02X:", pbHexMac[i]);
};
sprintf (szMac + j, "%02X", pbHexMac[i]);
ReStr = szMac;
}else{
ReStr = "Can't get.";
};
free(szMac);
return ReStr;
}
/*************************************************************
请帮我把里面的sprintf函数给去了,用字串相加或别的,可以用其它比较通用的函数,反正不要用sprintf。
**************************************************************/
{
HRESULT hr;
IPAddr ipAddr;
ULONG pulMac[2];
ULONG ulLen;
size_t i, j;
char * szMac = new char[18];
PBYTE pbHexMac = (PBYTE) pulMac;
String ReStr;
ulLen = 6;
ipAddr = inet_addr(IPStr.c_str());
memset (pulMac, 0xff, sizeof (pulMac));
SendARP (ipAddr, 0, pulMac, &ulLen);
if(ulLen > 0){
for (i = 0, j = 0; i < ulLen - 1; ++i) {
j += sprintf (szMac + j, "%02X:", pbHexMac[i]);
};
sprintf (szMac + j, "%02X", pbHexMac[i]);
ReStr = szMac;
}else{
ReStr = "Can't get.";
};
free(szMac);
return ReStr;
}
/*************************************************************
请帮我把里面的sprintf函数给去了,用字串相加或别的,可以用其它比较通用的函数,反正不要用sprintf。
**************************************************************/
...全文
相关推荐
C语言的sprintf函数
本文详细介绍了C语言中的sprintf函数,对其原理、功能和应用进行全面介绍,适合于那些对该函数不太了解的同学
sprintf函数详细解释
本文详细介绍了sprintf函数的原理和功能,对其应用进行了详细介绍,适合那些对该函数不太了解的同学
sprintf的用法
全面的比较printf和sprint和的异同。有助于大家对printf和sprint和的理解更加深刻。
sprintf,vsprintf越界问题
sprintf,vsprintf越界问题
sprintf函数用法
在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直 接在命令行上输出。这也导致sprintf 比printf 有用得多。


