拷贝文件夹时很奇怪的有关问题,请各位帮助

拷贝文件夹时很奇怪的问题,请各位帮助. - C++ Builder / Windows SDK/API
各位我写了一个按钮Button的click如下(想拷走这个执行文件同目录下的file文件所有内容大约有100M左右):
  AnsiString path = ExtractFilePath(Application->ExeName);
  SHFILEOPSTRUCT op;
  String strFrom = path + "\\file\\*.*\0", strTo = Edit1->Text + "\0";
  op.hwnd = NULL;
  op.wFunc = FO_COPY;
  op.pFrom = strFrom.c_str();
  op.pTo = strTo.c_str();
  op.fFlags = FOF_WANTNUKEWARNING;
  //判断如果执行成功代表可以继续以后步骤,否则停止
  if (::SHFileOperation(&op))
  {
  MessageBox(Handle, "操作系统错误,安装失败!", "提示", MB_OK|MB_ICONSTOP);
  return;
  }
  else
  {
  ShowMessage("successful");
  }

我就想请问各位,为什么代码在我自己的机器上就能够成功运行. 但是到其它机器上面运行, 拷贝时则显示"无法复制 文件:无法读源文件或磁盘", 我换了两台机器都这样. 请问这是什么问题呀. 我急死了, 哪位有经历过的请指点一下.

------解决方案--------------------
不同意1楼的说法

问题是 SHFileOperation 使用的文件、文件夹名称是使用两个 \0 来表示结束的
你用了 strFrom.c_str(); 虽然你的 strFrom 有两个 \0 但是 c_str() 并没有两个 \0 的
你还是使用字符数组,先 ZeroMemory 整个字符数组,在拷贝 strFrom.c_str(); 进去即可