ورود

View Full Version : سوال: Runtime Error



smrpro
پنج شنبه 19 مرداد 1391, 13:37 عصر
سلام تورو خدا به دادم برسید .این کد منه از visual stdio 2010 استفاده میکنم :

#include <afxcoll.h>
#include <conio.h>
#include <tchar.h>
#include <strsafe.h>
#include <direct.h>
#include <string>
#include <vector>
using namespace std;
void DisplayErrorBox(LPTSTR lpszFunction)
{
// Retrieve the system error message for the last-error code
LPVOID lpMsgBuf;
LPVOID lpDisplayBuf;
DWORD dw = GetLastError();
FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
dw,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPTSTR) &lpMsgBuf,
0, NULL );
// Display the error message and clean up
lpDisplayBuf = (LPVOID)LocalAlloc(LMEM_ZEROINIT,
(lstrlen((LPCTSTR)lpMsgBuf)+lstrlen((LPCTSTR)lpszF unction)+40)*sizeof(TCHAR));
StringCchPrintf((LPTSTR)lpDisplayBuf,
LocalSize(lpDisplayBuf) / sizeof(TCHAR),
TEXT("%s failed with error %d: %s"),
lpszFunction, dw, lpMsgBuf);
MessageBox(NULL, (LPCTSTR)lpDisplayBuf, TEXT("Error"), MB_OK);
LocalFree(lpMsgBuf);
LocalFree(lpDisplayBuf);
}
int exploreDirectory()
{
WIN32_FIND_DATA ffd;
LARGE_INTEGER filesize;
TCHAR szDir[MAX_PATH];
HANDLE hFind = INVALID_HANDLE_VALUE;
DWORD dwError=0;
_tcscpy(szDir, TEXT("*.*"));
hFind = FindFirstFile(szDir, &ffd);
if(INVALID_HANDLE_VALUE == hFind)
{
DisplayErrorBox(TEXT("\nERROR Openning directory!\n"));
return 1;
}
do
{
if(ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
if(!(ffd.cFileName == ".") && !(ffd.cFileName == ".."))
{
_chdir(ffd.cFileName);
exploreDirectory();
_chdir("..");
}
 
}
else
{
filesize.HighPart = ffd.nFileSizeHigh;
filesize.LowPart = ffd.nFileSizeLow;
_tprintf(TEXT("%13ld bytes %s \n"),filesize.LowPart ,ffd.cFileName);
}
}
while(FindNextFile(hFind, &ffd) != 0);

dwError = GetLastError();
if (dwError != ERROR_NO_MORE_FILES)
{
DisplayErrorBox(TEXT("FindFirstFile"));
}
 
_tprintf(TEXT("FINISHED!\n"));
FindClose(hFind);
getch();
return 0;
}
int _tmain(int argc, char **argv)
{
_chdir("E:\\");
if(!exploreDirectory())
return 1;
else
return 0;
}
 
 

موقع اجرا این پیغام میده مشکل از کجاس؟؟؟؟:گریه::گریه::گریه::گ یه::گریه::گریه:
Unhandled exception at 0x76f820a5 in dDFS.exe: 0xC00000FD: Stack overflow.

#target
جمعه 20 مرداد 1391, 01:20 صبح
احتمالا ی جا بینهایت فراخوانی انجام میشه ( مثلا تو در تو و بازگشتی )