Diciamo che anche reinventando la ruota si impara. Di solito le fasi di apprendimento implicano la necessaria dose di fai da te, ma una volta appresi bene i concetti è meglio usare qualcosa di standardizzato come la libreria standard, specie se fornisce le cose che ti servono. Tradotto in soldoni: finché si studia tutto (o quasi) è lecito, è dopo che iniziano le rogne.Originariamente inviato da il_dordollano
Può essere visto come processo errato? Perchè l'ho utilizzata diverse volte nel programma e ci ho messo davvero poco per costruirla;
L'errore è dovuto al fatto che hai esaurito lo stack. Puoi variarne la capacità agendo sulle opzioni del compilatore/linker (VC++ utilizza 1MB per lo stack), ma è preferibile allocare nell'heap mole così grande di dati.Ora mi trovo a riutilizzare le string.
Per quanto riguarda le string. Le string nascono per sostituire le stringhe ASCIIZ del C che sono array di char NULL terminated, ma un array di char non è una stringa. In altre parole, usa le string per manipolare testi, non dati binari (non che non si possa fare ma a volte è come piantare un chiodo con un sasso). Se vuoi manipolare array di char veri e propri la classe adatta è vector<char>.
Ovviamente tutto questo prendilo come un suggerimento per il futuro.