PDA

Visualizza la versione completa : [C] Dimensione stringa sconosciuta


UltraBeginner
11-12-2006, 17:47
Ciao a tutti,

e possibile con l uso della malloc prendere in input una stringa ma senza conoscerne la dimensioni a priori?

Per quanto mi riguarda penso che l utente debba almeno inserire la lunghezza in caratteri della stringa, senno la malloc come fa a sapere quanti byte deve allocare?

suggerimenti?

:ciauz: :ciauz:

oregon
11-12-2006, 17:49
Basta prevedere un buffer statico abbastanza capiente (pensi che 4K basteranno per l'input da tastiera ... ? :madai!?: ) e poi copiare l'effettivo input in un array dinamico appositamente allocato.

UltraBeginner
11-12-2006, 17:52
Perfetto, il mio dubbio era proprio quello, cioè se si potesse evitare di passare da un buffer statico...evidentemente non si puo evitare...thanks a lot! :ciauz: :ciauz:

XWolverineX
11-12-2006, 19:56
E se 4 k non bastassero?
Come si può essere davvero sicuri? Si deve proprio per forza passare per un buffer statico?

oregon
11-12-2006, 19:58
Non bastano 4k per un input da tastiera?

Comunque, puoi fare una funzione che prenda in input un carattere alla volta e che allochi man mano la memoria necessaria (magari a blocchi) ... pero' e' poco utile ...

XWolverineX
11-12-2006, 23:42
mi pare che fosse
1 char = 1 byte...
8byte = 1k
4k = 32byte

bhe appena 32 caratteri? e se ne scrivo di piu'?

MItaly
11-12-2006, 23:49
EEEEEH? :oVVoVe: :oVVoVe:
1 char = 1 byte
1024 byte = 1 KB (o, in breve, K, o più correttamente KiB).
4 KB = 4092 caratteri.
L'otto c'entrava con i bit...
8 bit = 1 byte

oregon
12-12-2006, 00:13
4 K = 4096 .... :madai!?:

XWolverineX
12-12-2006, 16:02
menomale che ho scritto
"mi pare che fosse", almeno la figuraccia è stata un po ammortizzata!
mi ero dimenticato che era a 1024...

Loading