Tu ne peux PAS connaître la taille d’un texte sans l’avoir parcouru au moins une fois.
Le mot clé ici est "au moins". Le probleme du C, c'est que tu doit parcourir la chaine a chaque fois. Et encore, avec des résultats variables en fonction de ton encodage.
Et c'est pas entièrement vrai. C'est vrai pour une chaine allouée de façon dynamique (un input stream, ou que sais je encore).
Le truc, c'est que dans ces cas, tu as du parcourir la chaine en premier lieu pour la construire, donc tu as deja la taille disponible plutot facilement. Idem pour la plupart des operations de manipulations de chaines: soit la nouvelle taille se calcule de façon trivial en temps constant (substring, concatenation, etc), soit tu as 99% de chances de t'être tape un scan de la chaine pour ta manipulation, et tu as donc ta nouvelle taille.
[^] # Re: Survivor
Posté par groumly . En réponse au journal C, un âge remarquable. Évalué à 5.
Le mot clé ici est "au moins". Le probleme du C, c'est que tu doit parcourir la chaine a chaque fois. Et encore, avec des résultats variables en fonction de ton encodage.
Et c'est pas entièrement vrai. C'est vrai pour une chaine allouée de façon dynamique (un input stream, ou que sais je encore).
Le truc, c'est que dans ces cas, tu as du parcourir la chaine en premier lieu pour la construire, donc tu as deja la taille disponible plutot facilement. Idem pour la plupart des operations de manipulations de chaines: soit la nouvelle taille se calcule de façon trivial en temps constant (substring, concatenation, etc), soit tu as 99% de chances de t'être tape un scan de la chaine pour ta manipulation, et tu as donc ta nouvelle taille.