日期:2014-05-16  浏览次数:20589 次

求帮忙,警告:指针和整数比较,不知该怎么改
#include <sys/types.h>
#include <dirent.h>
#include <stdio.h>

int get_dir_name(const char *path)
{
DIR *mydir;
struct dirent *myent;

if((mydir=opendir(path))==NULL)
{
printf("the path is error!\n");
return -1;
}
int i=0;
while((myent=readdir(mydir))!=NULL)
{
if(myent->d_name[0]==".")     //问题,不知该怎么改?
continue;

printf("%s\t\t",myent->d_name);

i++;
if(i%5==0)
printf("\n");
}
closedir(mydir);
return 0;
}

int main()
{
get_dir_name("./");
}

------最佳解决方案--------------------
if(myent->d_name[0]=='.')     //问题,不知该怎么改?

------其他解决方案--------------------
if(myent->d_name[0]==".")     //问题,不知该怎么改?
将双引号改成单引号就ok了

警告原因:"." 是字符串首地址,而myent->d_name[0]是char类型的整数
------其他解决方案--------------------
非常感谢你们,解决了