fopen函数失败,getlasterror返回值是5,貌似是权限问题, 在XP下或者WIN7下管理员账户运行没问题,WIN7非管理员就不行了, 那我想创建本地文件还有办法吗?

解决方案 »

  1.   


    我的文档里面哪个地方啊,C:\Documents and Settings里面有好几个文件夹呢
      

  2.   


    #include <shlobj.h>
    #pragma comment( lib, "shell32.lib")TCHAR szDocument[MAX_PATH] = {0};  LPITEMIDLIST pidl = NULL;   
    ::SHGetSpecialFolderLocation(NULL, CSIDL_PERSONAL, &pidl);   
    if(pidl && ::SHGetPathFromIDList(pidl, szDocument))
    {
    //::GetShortPathName(szDocument,lpszDefaultDir,_MAX_PATH);
    ::CoTaskMemFree(pidl);
    }这样就得到当前用户的我的文档目录了,例如:C:\Users\Administrator\Documents\
      

  3.   

    一样的... fopen(文档路径,"ab"); 出错,错误值5,权限。。
      

  4.   

    把你需要创建的文件 用户数据文件夹 下面就可以了TCHAR szFilePath[MAX_PATH]; 
    GetEnvironmentVariable("APPDATA", szFilePath, MAX_PATH);