一个超简单的有关问题,大家抢分啊
一个超简单的问题,大家抢分啊!!!!!
char *strTemp=PathFindExtension("c:\\test.exe");
if (strTemp==".exe")
{
MessageBox(strTemp);
}
PathFindExtension("c:\\test.exe"); 本来就返回.exe这个字符,为什么if (strTemp==".exe")这个条件不成立呢?怎么比较才能让这个if条件成立呢?请大家帮帮忙!大家帮忙修改下,还有char *strTemp 类型就用char * ,不要用CString ,谢谢!
------解决方案--------------------
在不考虑UNICODE/MBCS的情况下,使用strcmp进行字符串比较,在比较之前转换成小写:
if(0 == strcmp(strlwr(strTemp), ".exe"))
{
//......
}
------解决方案--------------------
同意楼上的说法,你这样strTemp==".exe",其实是两个指针地址之间的比较,而不是字符串的比较
char *strTemp=PathFindExtension("c:\\test.exe");
if (strTemp==".exe")
{
MessageBox(strTemp);
}
PathFindExtension("c:\\test.exe"); 本来就返回.exe这个字符,为什么if (strTemp==".exe")这个条件不成立呢?怎么比较才能让这个if条件成立呢?请大家帮帮忙!大家帮忙修改下,还有char *strTemp 类型就用char * ,不要用CString ,谢谢!
------解决方案--------------------
在不考虑UNICODE/MBCS的情况下,使用strcmp进行字符串比较,在比较之前转换成小写:
if(0 == strcmp(strlwr(strTemp), ".exe"))
{
//......
}
------解决方案--------------------
同意楼上的说法,你这样strTemp==".exe",其实是两个指针地址之间的比较,而不是字符串的比较