|
Bas de page | |
---|---|
Auteur | Sujet : fonction saisie ligne sans limite |
Publicité | Posté le 18-12-2007 à 21:46:03 |
matafan | Tu devrais éviter de faire un realloc() à chaque char, c'est très pénalisant. Fait plutôt tes reallocs() par blocs : quand tu n'as plus de place dans le buffer tu lui ajoutes un bloc de 4096 octets par exemple, et ensuite tu es tranquile pour 4096 getchar().
|
Trap D | On peut commencer par 4096 et il est conseillé pour la reallocation de multiplier la taille par le nombre d'or. |
Elmoricq Modérateur | La fonction que j'avais créée à cette fin, je l'utilisais pour lire des fichiers de données, et donc plutôt que de refaire à chaque ligne lue les mêmes phases de réallocations, je stockais la taille du bloc dans un static. Message édité par Elmoricq le 19-12-2007 à 10:13:50 |
spotaszn | Bonjour,
|
matafan |
|
Elmoricq Modérateur |
|
ngkreator | Merci pour toutes vos réponses!
|
Taz bisounours-codeur |
|
Taz bisounours-codeur |
y a getline en C mais pas standard, extension GNU. |
Publicité | Posté le 19-12-2007 à 14:33:32 |
ngkreator | Ah oui donc je vais rester sur du standard.
Message édité par ngkreator le 19-12-2007 à 14:58:27 |
dreameddeath | Attention, le realloc "libère" de lui-même (ou plutôt remet à disposition dans la heap) la mémoire originelle du pointeur si la ré-allocation c'est bien passé. D'ailleurs dans le cas présent, il ne faut surtout pas essayer de faire un free sur le strIn, qui pointe vers l'ancienne zone mémoire (voir pire la même) et cela fera ce que l'on appelle de la memory corruption.
Message édité par dreameddeath le 20-12-2007 à 01:27:39 |
Sujets relatifs | |
---|---|
utiliser la fonction number_format() pour ajouter une virgule | [VBA] Ajout automatique d'une ligne dans une liste déroulante |
vente en ligne | [résolu] Automatiser une fonction excel sur vba |
[C] fwrite ajoute des caractères de fin de ligne ... | [Sed] Modifier une ligne dans un .bat |
CMS fonction annuaire | Fonction random sous Firefox |
Macro Taille Ligne | Configurer la fonction mail de appache (php.ini) |
Plus de sujets relatifs à : fonction saisie ligne sans limite |