Domanda

Attualmente sto sviluppando un gioco che simula un sistema operativo.Quindi ho bisogno di un filesystem in gioco.Attualmente, sto usando zziplib per poter caricare file da un archivio zip, tuttavia questo è un "filesystem" di sola lettura e ho bisogno di un modo per scrivere nuovi file e serializzarli in seguito (e deserializzarli durante la prossima esecuzione)!Esistono librerie utili in circolazione da utilizzare o dovrei scriverne una per me stesso sulla base di qualcuna?

È stato utile?

Soluzione

Questo è probabilmente uno dei posti in cui usare un semplice database come file system rende sens.

Utilizza qualcosa come sqlite per memorizzare i dati (con percorsi come chiavi, BLOB come dati o qualcosa di similequello).

Uno dei vantaggi di fare questo è che in realtà non devi preoccuparti dell'archiviazione e puoi utilizzare gli strumenti di database esistenti per visualizzare / modificare i dati "offline" invece di dover scrivere i tuoi.(Inoltre puoi memorizzare anche altre informazioni sul gioco.)

Altri suggerimenti

Potresti controllare PicoStorage e File system incorporato in C ++ .Non li ho usati direttamente, ma li ho visti entrambi.Il file system incorporato ha una dipendenza che potrebbe essere un ostacolo allo spettacolo: richiede che Qt sia collegato. Forse potrebbe essere rimosso, ma lo usa principalmente per QString e QFile (e non avrebbe motivo di richiedere l'interfaccia utente).

I miei sei pence in cima alle risposte sopra. SolFS e CodebaseFS fornisce funzionalità di file system virtuale;entrambi hanno un'API per C / C ++ e sembrano fare esattamente quello che stai chiedendo.Tuttavia ... la portata del tuo compito non è chiara per me.Il tuo gioco deve gestire dozzine, centinaia, zoom, ... di file?Quali sono le dimensioni di questi file?Ecc, ecc. Vorrei sollevare queste domande prima di cercare una soluzione appropriata.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top