想用 DeleteFile("DATE\\TEMP.DAT");
删除文件 总是返回 0 后来发现 我在 之前 用 CreateFile 函数 检测过 文件是否存在 
                   if(INVALID_HANDLE_VALUE != CreateFile("DATE\\TEMP.DAT", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL))
{调用这个 函数后 无法删除 CreateFile 对应的 释放文件控制是 哪个??还是有别的办法???

解决方案 »

  1.   


    .....不明白  我没有创建 File  
      

  2.   

    打开
    HANDLE handle = CreateFile();关闭 
    CloseHandle(handle);
      

  3.   


    如果打开了一个文件,你用的是CFile,就用CFile的close方法,如果你使用的是handle 就楼上的
    文件打开了要记着关闭,一个文件打开着,别人就不能访问
      

  4.   

    不用那么麻烦, 直接用CFileFind类
    CFileFind bFind;
    if(bFind.FindFile("DATE\\TEMP.DAT"))
    {
        DeleteFile("DATE\\TEMP.DAT");
    }
    bFind.Close();
    //再创建文件
      

  5.   

    先使用CloseHandle再调用DeleteFile
      

  6.   

    3楼正解,文件句柄要先关掉才能调用DeleteFile。