Skip to content

Modern Fs PathNextComponent

Paul Squires edited this page Oct 19, 2026 · 5 revisions

Home › Filesystem › Filesystem Library › PathNextComponent

PathNextComponent

Finds the next part of a path from an offset; returns a negative number when none is left.

Syntax

PathNextComponent( p, gram, from, outlen )

Notes

  • the cursor PathSplit uses

Examples

#import "std/fs"
using fs

'' The cursor PathSplit is built on, so the C side never allocates. It
'' returns the ZERO-BASED OFFSET of the next component and writes its
'' length through the last argument.
''
'' A NEGATIVE RETURN means there is nothing left -- NOT zero, which is a
'' perfectly good offset and will loop forever if you test for it.
dim as ustring p = PathNormalize( "C:\dev\src" )
dim as integer at = 0, clen = 0, start_

do
    start_ = PathNextComponent( p, FB_PATH_NATIVE, at, clen )
    if start_ < 0 then exit do
    print mid( p, start_ + 1, clen )     '' dev / src
    at = start_ + clen
loop

'' Like PathSplit, it walks the components only -- the root is not one
'' of them. The offset is 0-based and MID is 1-based, hence the + 1.

Library: Filesystem Library
Category: Filesystem
Documented under: Paths

Clone this wiki locally