相关疑难解决方法(0)

确定两个路径引用C#中同一文件的最佳方法

在即将到来的Java7中,有一个新的API来检查两个文件对象是否是相同的文件引用.

.NET框架中是否提供了类似的API?

我通过MSDN搜索它,但没有任何启发我.

我希望它很简单,但我不想通过文件名进行比较,这将导致硬/符号链接和不同路径风格的问题.(例如\\?\C:\,C:\).

我要做的是防止重复文件被拖放到我的链接列表中.

c# filesystems api

37
推荐指数
3
解决办法
1万
查看次数

确定两个文件路径引用同一文件对象的最佳方法是什么?

我想编写一个单元测试来检查两个文件路径是否相同,但我不想假设字符串表示是相同的.

例如,在Linux上,一个案例中的路径中可能存在符号链接,而另一个案例中则不存在符号链接.在Windows上,一个(X:\foo)上可以有驱动器表示法,另一个()上可以有网络符号//serverX/foo.最复杂的是,该文件可能已在Linux上以NFS共享(/path/to/file语法)编写,并在Windows上使用DOS语法验证(X:\to\file)其中X:是NFS挂载/path.

一些想法(在Stack Overflow上找到,但不统一):

  1. 在Linux上,比较来自的inode stat
  2. 使用realpath(这个平台独立吗?)
  3. 在Windows上,比较字符串 GetFullPathName
  4. 在Windows上,比较序列号和文件索引 GetFileInformationByHandle

什么是跨平台的最佳解决方案?我用C++写这个,但我可以明显地下降到C.

c c++ linux windows

26
推荐指数
1
解决办法
906
查看次数

使用WinAPI规范化文件路径

可能重复:
确定两个路径是否引用C/C++中相同文件的最佳方法

给定两个具有可能不同的大小写和斜杠('\'vs '/')的文件路径字符串,是否有一种快速的方法(不涉及编写我自己的函数)来规范化到同一形式的两个路径,或者至少测试它们的等效性?

我受限于WinAPI和标准C++.所有文件都是本地的.

c c++ windows winapi path

11
推荐指数
3
解决办法
9671
查看次数

标签 统计

c ×2

c++ ×2

windows ×2

api ×1

c# ×1

filesystems ×1

linux ×1

path ×1

winapi ×1