char *pbkslh = NULL;
char *pcolon = NULL;
if ((pcolon = strchr(shortname, ':')) != NULL)
{
*pcolon = '\0';
if (*(pcolon - 1) == '\\')
{
pbkslh = pcolon - 1;
*pbkslh = '\0';
}
}
if (pcolon != NULL)
{
*pcolon = ':'; /* replace the colon */
if (pbkslh)
*pbkslh = '\\';
}
你究竟想干什么??? 求解释 shortname改过去又改回来?
VC6.0 在debug模式下试试
[mw_shl_code=cpp,true]#include *本站禁止HTML标签噢*
using namespace std;
int main() {
char shortname[4] = ":";
unsigned int overflow = 0x5CFFFFFF;
char *pbkslh = NULL;
char *pcolon = NULL;
printf("%08X\n", overflow);
if ((pcolon = strchr(shortname, ':')) != NULL)
{
*pcolon = '\0';
if (*(pcolon - 1) == '\\')
{
pbkslh = pcolon - 1;
*pbkslh = '\0';
}
}
printf("%08X\n", overflow);
if (pcolon != NULL)
{
*pcolon = ':'; /* replace the colon */
if (pbkslh)
*pbkslh = '\\';
}
return 0;
}
[/mw_shl_code]
[查看全文]
