Boost API用于检查目录路径是否在c ++中的网络上

时间:2015-01-13 10:50:50

标签: c++ boost

我在c ++中使用我的应用程序编写一些文件,当我使用std :: io操作将它们保存在网络驱动器上时,应用程序冻结直到文件完全写入,并且该过程需要时间,而在本地驱动器上则执行操作很快。

我们是否有任何方法可以识别网络驱动器(映射/非映射)上的目录路径?这样我就可以向用户发出警告,然后打破操作,先将其保存在本地,然后将文件移到后台网络。

PS:比较“\\”不是一个选项,因为可能会映射驱动器。

1 个答案:

答案 0 :(得分:2)

对于潜在的偏离主题的争论感到抱歉,但似乎你错了。无论存储的本地/远程特性如何,任何文件操作都可能很慢。

  • 碎片会使任何磁盘操作变慢(无论是读/写)
  • NTFS卷可以拆分为多个物理驱动器(其中一些可能比另一个慢)
  • 任何硬盘驱动器如果尝试读取损坏的区域(坏块等)都可以进行任意长时间的超时。
  • 即使是好的驱动器,如果文件很大(使得用户体验不方便)也会花费大量时间。

因此,将磁盘IO移动到另一个线程以便为最终用户提供非冻结用户界面会更高效。