我想用fopen函数,如何在Server中共享的文件夹中建立文件,并且可以对其操作
如Server ip为10.0.0.1,目录为c:\test
在线等,谢谢!

我用 SetCurrentDirectory("\\10.0.0.1\\test\\")
怎么不行呢?

SetCurrentDirectory("\\\\10.0.0.1\\test\\")

void CreatFile(void)
{
int i;
FILE * SnFhandle;
SnFhandle=fopen(FileName,"w");
if (SnFhandle==NULL)
  {
  ShowMessage("Creat fail");
  }
fclose(SnFhandle);
}

void __fastcall TLanidC::SnKeyPress(TObject *Sender, char &Key)
{

  int i;
  for(i=0;i <12;i++)
  FileName[i]=Sn->Text.c_str()[i];    // Filename为全局变量 前面已经定义
  SetCurrentDirectory("\\\\10.0.0.1\\test");
  CreatFile();
  SnMessage->Color=clLime;
  Sn->ReadOnly=true;
  Input->Enabled=true;

}

帮忙看看问题在哪儿(编译通过),确定网络是通的,可以直接对其操作,谢谢!

也改为SetCurrentDirectory("\\\\10.0.0.1\\test\\");
也不可以,等了2-5分钟后在程式所在的目前下建立了文件

我不敢肯定SetCurrentDirectory能不能在网络共享盘里工作,你试试把FileName直接设置成绝对路径。

帮忙顶了,接点儿辛苦分儿。嘿嘿

我直接改成
void CreatFile(void)
{
int i;
HANDLE hSearch;
FILE * SnFhandle;
  SnFhandle=fopen("\\\\10.0.0.1\\test\\11.txt","w");  //也试过“\\\10.0.0.1\\test\\11.txt”
  if (SnFhandle==NULL)
{
ShowMessage("Creat fail");
}
fclose(SnFhandle);

}

就是无法建立文件,SnFhandle==NULL
请指教!

有没有其他的方法可以实现,请高手赐教!

试验了你的代码,完全可以正确执行,请确认你是不是有权限在\\10.0.0.1\test\里写文件。你用资源管理器打开\\10.0.0.1\test\,试试能不能在里面建立文件?

该回复于2008-08-06 13:38:33被版主删除

我有用 资源管理器打开\\10.0.0.1\test\,可以完全控制文件,读,写,删!

这个群我没法加入

服务器拒绝您的请求,对方拒绝加入成员。

我改成映射成网络磁盘才可以,不过这样不是我想要得结果