GitHub - OUIsolutions/DoTheWorld: An Single Header C/C++ library to work with dirs and files

GitHub

Version
License
Platform
Build Status

A single-file C/C++ library for robust file system operations and data management

Installation

Documentation

Features

Examples

Contributing

📋 Overview

DoTheWorld is a powerful Windows/Linux cross-platform library designed for comprehensive file and data handling in C/C++. From basic I/O operations to complex transactional systems, it provides a complete toolkit for file manipulation, encryption, hashing, and database-like functionality - all from a single file include.

✨ Features

📁 File and directory management

🔄 Atomic transactions

🔒 Thread-safe lockers

🔍 File search and listing

⏱️ Modification date tracking

🔐 SHA256 hashing

📊 Base64 encoding/decoding

🗄️ Resource management system

🌲 Tree data structures

🔀 Path manipulation utilities

📦 Non-relational database

🔑 Schema validation

🚀 High-performance operations

🔄 Copy and move operations

🔐 Encryption capabilities

📦 Releases

PackageDescription

doTheWorld.zip

Full package with all components

doTheWorldOne.c

Single-file amalgamated version

doTheWorld.h

Header declarations

doTheWorld.c

Source definitions📦 Installation

Option 1: Single File Include (Recommended)

// Just download and include#include"doTheWorldOne.c"Option 2: Traditional Header/Source

// Include the header in your code#include"doTheWorld.h"// And link with doTheWorld.c during compilation📚 Documentation

CategoryDocumentation LinkDescription🏗️ Setup

Build & Install

Getting started with DoTheWorld📝 Core I/O

Basic I/O

Reading and writing files🔄 Operations

Copy & Move

File and folder operations🔍 Discovery

Listage

Listing files and directories🔢 Encoding

Base64

Base64 encoding and decoding🔐 Security

Hashers

SHA256 and other hashing functions⏱️ Tracking

Unix

Unix timestamp utilities🔒 Concurrency

Locker

Thread-safe operations🗄️ Resources

Resource System

Resource management framework🌲 Structure

Tree

Tree data structure implementation🎲 Random

Randomizers

Random generation utilities⚡ Performance

Transactions

Atomic transaction system🧩 Components

Dependencies

Library dependencies🔐 Security

Encryption

Data encryption capabilities🚀 Quick Examples

Reading and Writing Files

#include"doTheWorldOne.c"intmain() { // Write a string to filedtw_write_string_to_file("hello.txt", "Hello, World!"); // Read file contentchar*content=dtw_load_string_file("hello.txt"); printf("%s\n", content); free(content); return0; }Using the Resource System

#include"doTheWorldOne.c"intmain() { // Create a resourceDtwResource*resource=new_DtwResource("my_data"); // Set valuesDtwResource*user=DtwResource_sub_resource(resource, "user"); DtwResource_set_string_in_sub_resource(user, "name", "John"); DtwResource_set_long_in_sub_resource(user, "age", 30); // Commit changesDtwResource_commit(resource); DtwResource_free(resource); return0; }🛠️ Build Toolchain

Darwin

- Build management

Silver Chain

- Dependency management

CAmalgamator

- Code amalgamation

💡 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

⭐ Support

If you find DoTheWorld useful, please consider giving it a star on GitHub!

———