2009-05-23 5 views

Antwort

0

Ich weiß nicht, ob es eine bestimmte API dafür gibt, ich würde einfach die einfache String-Behandlung selbst implementieren (über "\\" überspringen oder null zurückgeben, nach next \ oder end of string suchen und zurückgeben) dieser Teilstring) möglicherweise zuerst PathIsunc() aufrufen

+0

das ist, was ich für jetzt getan habe, aber überprüft, ob es einen gibt, falls es Ausnahmen gibt – CiNN

+0

Was ist wenn die ist eigentlich eine IP-Adresse und nicht ein Computername? –

+0

die IP-Adresse wird keinen Schrägstrich enthalten, solange Sie nur nach einem Schrägstrich suchen, kein Problem. – benPearce

1

Ich kenne keine Win32-API zum Parsen eines UNC-Pfads; jedoch sollten Sie prüfen:

  • \\computername\share
  • \\?\UNC\computername\share (Menschen nutzen diese lange Pfade> 260 Zeichen zuzugreifen)
  • Sie optional behandeln können auch diesen Fall: smb://computername/share und diesen Fall hostname:/directorypath/resource

Read here for more information

1

Dies ist nicht getestet, aber möglicherweise eine Kombination von PathIsUNC() und PathFindNextComponent() würde den Trick machen.

0

Wenn Sie die Daten als Nur-Text erhalten, sollten Sie in der Lage sein, es mit einer einfachen Regex zu analysieren, nicht sicher, welche Sprache Sie verwenden, aber ich neige dazu, Perk für schnelle Suchen wie folgt zu verwenden. Angenommen, Sie haben ein großes Dokument, das mehrere Zeilen mit einem Pfad pro Zeile enthält, können Sie nach \\ 's suchen: m/\\\\ ([0-9] [0-9] [0-9] \. (Wiederholen 3 mal, natürlich nicht die IP-Adresse Anforderungen, die Sie müssen möglicherweise die erste Änderung sicher) dann \\)? Um es optional zu machen und den abschließenden Schrägstrich zu enthalten, und schließlich (. *) \\/ig ist es grob, sollte aber den Trick machen, und der Pfadname sollte in $ 2 für den Gebrauch sein!

Ich hoffe, das war klar genug!

Verwandte Themen