运行error:First-chance exception in sss15.exe (NTDLL.DLL): 0xC0000005: Access Violation.每当跑到FindFirstFile(srcDir,&fd),FindNextFile这样的函数时,出现以上错误
请大家帮忙解决,谢谢

解决方案 »

  1.   

    #include<iostream.h>
    #include <windows.h>
    int main(int argc, char *argv[])
    {
      WIN32_FIND_DATA FindFileData;
      HANDLE hFind;  cout<<"Target file is"<<argv[1]<<endl;
      hFind = FindFirstFile(argv[1], &FindFileData);
      if (hFind == INVALID_HANDLE_VALUE) 
      {
        cout<<"Invalid File Handle. GetLastError reports ";
        return (0);
      } 
      else 
      {
        cout<<"The first file found " ;
        FindClose(hFind);
        return (1);
      }
    }这是我在MSDN找得例子,运行后和我程序的错误一样.????
    再帮我看看 谢
      

  2.   

    需要带参数运行,不然先检测下argc,确保参数argv[1]存在
      

  3.   

    cout<<"Target file is"<<argv[1]<<endl;这句错了,需要参数,否则为NULL,就会出错!
    应该这么调用:xxx d:\
      

  4.   

    如果你是在创建的工程里面进行调试的话,需要在工程里面进行设置,让工程给你传递参数进去其实还是编程习惯不好,你应该先检查argc到底是多少才行,argc < 2的话,就不应使用argv[1]了
      

  5.   

    不知道你用的是什么?VC++6还是.Net?VC++6我记不得了,VC++.Net的话,在工程的设置里面有一个调试,然后里面有一个命令参数可以设置,你选择编辑,然后填入参数便可
      

  6.   

    vc++6也可以在调试时设置参数,在setting里有设
      

  7.   

    你如果是试试,那么也不要用参数了,直接写死不就完了
    CString  xx=“d:\"; 用xx代替argv【1】
      

  8.   

    源码没有错误,只是你不能直接运行,这是一个查找文件的例程。需要先运行cmd,本目录下输入
    你的程序名 文件名,如果是其它目录,输入一个绝对路径