在CGI程序中,有这样一段时间,我要向一个文件中写入一些数据,可是打开文件的时候一直返回5(拒绝访问)错误,但是当我读取该文件数据时都是正确的,我将程序编译成exe去执行都没有问题,编译成CGI时就会出错,只能读不能读,大伙有遇到过这样的情况吗?CStdioFile fFile;
if (!fFile.Open(_T("extend.txt"),  CFile::typeText | CFile::modeWrite | 
CFile::modeNoTruncate | CFile::modeCreate))
{
cout<<"GetLastError:";
cout<<GetLastError();
return -1;
}
else
{
cout<<"OK\n";
fFile.SeekToBegin();
fFile.WriteString("Hello World");
fFile.Close();
return 0;
}

解决方案 »

  1.   

    楼上的大哥哥,你是指文件读写权限还是IIS权限呢?我那个配置文件权限应该没问题,IIS会有权限设置吗?
      

  2.   

    to Red_angelX(八戒) :
       如果是因为IIS的权限,那有没有其他办法可以保存配置信息,我现在是需要保存配置信息,同时也读取,因为我们做的是产品,不可能让用户去修改自己的IIS权限,除了读写文件还有办法吗?这里没有数据库可以用~~~
      

  3.   

    GetLastError()返回的是5,返回值的意义是:拒绝访问,路径肯定没有问题,因为我读这个文件的时候也是这个名字,是在相同目录下的,现在就很纳闷,写文件的时候时候,只要指定了CFile::modeWrite就会Open()失败.
      

  4.   

    找到原因了,确实是IIS权限的问题,现在正在商量对策,不过帖还是要结的哈。