Лучший способ определить, если две ссылки на один и тот же файл в Windows? - PullRequest
16 голосов
/ 18 февраля 2009

Как бы я сравнил 2 строки, чтобы определить, ссылаются ли они на один и тот же путь в Win32 с использованием C / C ++?

Хотя это будет обрабатывать множество случаев, в нем пропущены некоторые вещи:

_tcsicmp(szPath1, szPath2) == 0

Например:

  • косая черта / обратная косая черта

  • относительные / абсолютные пути.

[Изменить] Заголовок изменен в соответствии с существующим вопросом C #.

Ответы [ 11 ]

0 голосов
/ 18 февраля 2009

Сравнение фактических строк пути не даст точных результатов, если вы ссылаетесь на UNC или канонические пути (т. Е. Что-либо, кроме локального пути).

shlwapi.h имеет несколько функций пути , которые могут быть вам полезны при определении того, совпадают ли ваши пути.

Содержит такие функции, как PathIsRoot , которые могут использоваться в функциях большего объема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...