An open API service indexing awesome lists of open source software.

https://github.com/lygstate/cpathjoin

Path library for C/C++. Cross-Platform for Linux, FreeBSD, Windows, Baremetal and MacOS. Supports UNIX and Windows path styles on those platforms. And O(N) time complexity. Compatible with nodejs path module.
https://github.com/lygstate/cpathjoin

baremetal c cpp cross-platform freebsd ios join linear linux macos nodejs normalize path path-manipulation path-module realpath relative time unc windows

Last synced: about 2 months ago
JSON representation

Path library for C/C++. Cross-Platform for Linux, FreeBSD, Windows, Baremetal and MacOS. Supports UNIX and Windows path styles on those platforms. And O(N) time complexity. Compatible with nodejs path module.

Awesome Lists containing this project

README

        

# libcpj - path join library for C/C++

[![Build Pipeline](https://github.com/lygstate/cpathjoin/actions/workflows/build-linux.yml/badge.svg)](https://github.com/lygstate/cpathjoin/actions/workflows/build-linux.yml)
[![Build Pipeline](https://github.com/lygstate/cpathjoin/actions/workflows/build-freebsd.yml/badge.svg)](https://github.com/lygstate/cpathjoin/actions/workflows/build-freebsd.yml)
[![Build Pipeline](https://github.com/lygstate/cpathjoin/actions/workflows/build-macos.yml/badge.svg)](https://github.com/lygstate/cpathjoin/actions/workflows/build-macos.yml)
[![Build Pipeline](https://github.com/lygstate/cpathjoin/actions/workflows/build-win.yml/badge.svg)](https://github.com/lygstate/cpathjoin/actions/workflows/build-win.yml)

This is a lighweight C path manipulation library. It is currently compiled and
tested under **Linux**, **FreeBSD**, **Windows** and **MacOS**. It supports UNIX and Windows
path styles on all platforms. This is a fork of [cwalk](https://github.com/likle/cwalk)

## Features

Please have a look at the
**[reference](https://lygstate.github.io/cpathjoin/reference/)** for detailed
information. Some features this library includes:

* **cross-platform** on Linux, FreeBSD, Windows and MacOS
* **simple interface** - just one header
* **combine paths** together
* **basename, dirname and extension** parsing
* **normalize and cleanup** paths
* **resolve and generate relative** paths
* **iterate segments** of the path
* **and more** things...

## Building

**[Building](https://lygstate.github.io/cpathjoin/build.html)**,
**[embedding](https://lygstate.github.io/cpathjoin/embed.html)** and
**[testing](https://lygstate.github.io/cpathjoin/build.html)** instructions are
available in the documentation (it's very easy).

## Docs

All the documentation is available in the
**[the github page](https://lygstate.github.io/cpathjoin/)** of this repository.