这都越界?
fun函数的if(*p!='*') 这里越界!!!就是这里报错 !!!!#include<windows.h>#include<stdio.h>void fun(char str[MAX_PATH]){ WIN32_FIND_DATA findData; HANDLE hFindFile; hFindFile=FindFirstFile(str,&findData); if(hFindFile!=INVALID_HANDLE_VALUE) { do { if(findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { char* p; int nLen=strlen(str); //检测倒数最后一一个字符是否是\ p=str+nLen-1; //2中可能,一种是 : c:\data; 另一种是: c:\data\*.*; if(*p!='*' ) { strcat(str,"\\*.*"); } fun(str); } else { printf("%s\n",findData.cFileName); } }while(FindNextFile(hFindFile,&findData)); FindClose(hFindFile); }}void print(char str[MAX_PATH]){ int nlen=strlen(str); char* p=str+nlen-1; if(*p=='\\') *p='0'; strcat(str,"\\*.*"); fun(str);}int main(){ char str[MAX_PATH]; strcpy(str,"f:\\test"); print(str);return 0;}