M'enfin, qu'est-ce que strlen() a à voir là-dedans ?Envoyé par seriousme
M'enfin, qu'est-ce que strlen() a à voir là-dedans ?Envoyé par seriousme
Parce que je croyais que "chaine" voulais dire "char*" ou "char[]".Envoyé par Emmanuel Delahaye
Et ? Tu crois que strlen() va retourner "la taille du pointeur" ?Envoyé par seriousme
Je rajoute la ponctuation et des mots pour clarifier:Envoyé par Emmanuel Delahaye
Si la chaine est valide alors c'est "strlen" qu'il faut utiliser; et pas "sizeof",qui ce dernier renvoie la taille du pointeur.
OK. Ecrire en français correct, lisible et compréhensible peut éviter des guerres !Envoyé par seriousme
Mais c'est encore au moins une demi-connerie. En effet, la validité de la chaine n'est évidemment pas garantie, puisque c'est un tableau de destination. Le strlen() est donc un bug (comportement indéfini).
C'est pour ça que j'ai mis le "si".Envoyé par Emmanuel Delahaye
Et comment tu le sais ?Envoyé par seriousme
Montre moi comment strlen() est utilisable dans ce contexte ?
On ne le sait pas et la vérification doit donc se faire en amont de l'appel à la fonction.Envoyé par Emmanuel Delahaye
Usine à gaz, non ? Et pour quel bénéfice ? La solution viable est évidemment de passer la taille, comme déjà indiqué...Envoyé par seriousme
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager