Il mio primo pensiero qui è di usare un array dinamico, ma sto cercando qualcosa di meglio.
Attualmente ho i file di testo aperti in "blocchi". Ogni parola o gruppo di spazi costituisce un "pezzo". Poi ho un numero di linea in questa struttura e un numero di blocco per l'ordine su una linea.
typedef struct TextData {
char* chunk;
int index, line;
}TDATA;
Non sono sicuro che questa sia una buona idea in quanto potrebbe portare ad allocare molta memoria dinamica ed è soggetta a perdite di memoria. Almeno per quanto ne so.
Quello che sto cercando è un modo migliore per implementarlo.
Questo viene usato per un programma di combinazione di editor di testo / console che verrà trasformato in una lib dinamica per il riutilizzo in altri programmi / giochi. Una piccola impronta digitale è una parte importante di questa implementazione.
Il testo viene inserito in un buffer di caricamento di un buffer di annullamento tiene traccia solo dei pezzi modificati l'ultimo buffer è un buffer di visualizzazione che viene utilizzato da un'applicazione o un'interfaccia per visualizzare le modifiche non salvate del file completo.
Deve essere sicuro anche per i thread.