编了一个程序,但是运行时却出现vcproj.exe已停止工作对话框,但结果已运行出来了。这是什么原因啊?
这是程序的部分代码,理想结果应该是num变量为零,输出“对不起,文件里没有你要找的图片”if(done!=-1) //继续查找剩余所有的文件并将文件名称存在File中
{
while(judge==0)
{
int len1,len2; //定义索取字符串的长度变量
INT8S* str1; //用于指向文件的名称
INT8S* str2; //用于指向文件的路径
len1= strlen(fileinfo.name); //计算文件名的长度
len2 =strlen(acPath)+len1; //计算文件名和路径的总长度
str1= malloc(len1+1); //分配指定大小的内存
str2 = malloc(len2+1);
sprintf(str2,"%s\\%s",acPath,fileinfo.name); //将完整路径赋给str2
strcpy(str1, fileinfo.name); //将文件名称赋给str1
File[i] = str1; //将找到的文件的名称存在File数组中
filepath[i]=str2; //获得每个文件的完整地址存在filepath数组中
i++;
judge = _findnext(done, &fileinfo); //找下一个文件
}
num=i;
}
if(num==0)
GUIDrawAlignedText(0xeeff0000,24, text0, "对不起,文件里没有你要找的图片", ALIGNED_CENTER);
else if(num>=6)
{
for(i=0;i<6;i++)
{
DrawRoundRectangle(rectText,0xffe0ffff,0xff7fff00,GRADE_TOPBOTTOM_MIDDLE,Middle_Round);
GUIDrawAlignedText(0xffdc143c,20, Text, File[i], ALIGNED_CENTER);
rectText.y+=80;
Text.y+=80;
}
}
else
{
for(i=0;i<num;i++)
{
DrawRoundRectangle(rectText,0xffe0ffff,0xff7fff00,GRADE_TOPBOTTOM_MIDDLE,Middle_Round);
GUIDrawAlignedText(0xffdc143,20, Text, File[i], ALIGNED_CENTER);
rectText.y+=80;
Text.y+=80;
}
}
[ 本帖最后由 稳步向前 于 2012-12-6 18:43 编辑 ]