A single-file C/C++ library for robust file system operations and data management
•
•
•
•
📋 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
Full package with all components
Single-file amalgamated version
Header declarations
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
Getting started with DoTheWorld📝 Core I/O
Reading and writing files🔄 Operations
File and folder operations🔍 Discovery
Listing files and directories🔢 Encoding
Base64 encoding and decoding🔐 Security
SHA256 and other hashing functions⏱️ Tracking
Unix timestamp utilities🔒 Concurrency
Thread-safe operations🗄️ Resources
Resource management framework🌲 Structure
Tree data structure implementation🎲 Random
Random generation utilities⚡ Performance
Atomic transaction system🧩 Components
Library dependencies🔐 Security
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
- Build management
- Dependency management
- 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!
———