Voici donc ce qui devrait arriver dans les pages de man.
Par rapport à ce que nous avions proposé, les parties "WARNING"
et "BUG" ont été oublié, pour ne reprendre que la description
de ce qu'elles font, pas les mises en garde.
DESCRIPTION
The strcat() function appends the src string to the dest
string, overwriting the null character (`\0') at the end of
dest, and then adds a terminating null character. The
strings may not overlap, and the dest string must have
enough space for the result.
The strncat() function is similar, except that
* it will use at most n characters from src; and
* src does not need to be null terminated if it contains n
or more characters.
As with strcat(), the resulting string in dest is always
null terminated.
If src contains n or more characters, strcat() writes n+1
characters to dest (n from src plus the terminating null
character). Therefore, the size of dest must be at least
strlen(dest)+n+1.
Je pense la même chose. Hier, au détour d'une conversation de geek au resto, j'ai découvert un cas ou (*p) n'est pas équivalent à (p[0]).
Hélas, la marge de la nappe était trop étroite...
Pourtant la démonstration en était merveilleuse ;-)
Chqrlie.
Ael Rowan Terence
"Charlie Gordon" a écrit dans le message de news:46826773$0$10944$
"Ael Rowan Terence" a écrit dans le message de news: f5tmrv$mnm$
Pardon , je n'ai pas été clair, je parle de cette erreur de frappe, que le
compilateur ne detecte pas : if ( n=0 )
A la place de if ( n==0)
Avec l'erreur de frappe le programme va compilé, et va même donner l'illusion de fonctionner sauf que le résultat est faux.
Si ton compilateur ne proteste pas sur cette ligne, c'est qu'il est mal configuré. Il faut impérativement passer les bonnes options au compilateur
C'est justement l'avantage de écriture if (0=n).
Car, même, dans le cas d'un compilateur desuet, ou mal configuré, l'erreur sera mentionnée. Alors que l'ecriture que tu préferres risque de passer inaperçu dans certains cas.
Nonobstant, je suis d'accord avec toi, il vaut mieux disposer des meilleurs outils correctement parametrés. Mais est-ce, partout et tout le temps, possible ?
"Charlie Gordon" <news@chqrlie.org> a écrit dans le message de
news:46826773$0$10944$426a74cc@news.free.fr...
"Ael Rowan Terence" <Nul@Null.fr> a écrit dans le message de news:
f5tmrv$mnm$1@news1.completel.net...
Pardon , je n'ai pas été clair, je parle de cette erreur de frappe, que
le
compilateur ne detecte pas :
if ( n=0 )
A la place de
if ( n==0)
Avec l'erreur de frappe le programme va compilé, et va même donner
l'illusion de fonctionner sauf que le résultat est faux.
Si ton compilateur ne proteste pas sur cette ligne, c'est qu'il est mal
configuré. Il faut impérativement passer les bonnes options au
compilateur
C'est justement l'avantage de écriture if (0=n).
Car, même, dans le cas d'un compilateur desuet, ou mal configuré, l'erreur
sera mentionnée.
Alors que l'ecriture que tu préferres risque de passer inaperçu dans
certains cas.
Nonobstant, je suis d'accord avec toi, il vaut mieux disposer des meilleurs
outils correctement parametrés. Mais est-ce, partout et tout le temps,
possible ?
"Charlie Gordon" a écrit dans le message de news:46826773$0$10944$
"Ael Rowan Terence" a écrit dans le message de news: f5tmrv$mnm$
Pardon , je n'ai pas été clair, je parle de cette erreur de frappe, que le
compilateur ne detecte pas : if ( n=0 )
A la place de if ( n==0)
Avec l'erreur de frappe le programme va compilé, et va même donner l'illusion de fonctionner sauf que le résultat est faux.
Si ton compilateur ne proteste pas sur cette ligne, c'est qu'il est mal configuré. Il faut impérativement passer les bonnes options au compilateur
C'est justement l'avantage de écriture if (0=n).
Car, même, dans le cas d'un compilateur desuet, ou mal configuré, l'erreur sera mentionnée. Alors que l'ecriture que tu préferres risque de passer inaperçu dans certains cas.
Nonobstant, je suis d'accord avec toi, il vaut mieux disposer des meilleurs outils correctement parametrés. Mais est-ce, partout et tout le temps, possible ?
Charlie Gordon
"Ael Rowan Terence" a écrit dans le message de news: f7l37m$v07$
"Charlie Gordon" a écrit dans le message de news:46826773$0$10944$
"Ael Rowan Terence" a écrit dans le message de news: f5tmrv$mnm$
Pardon , je n'ai pas été clair, je parle de cette erreur de frappe, que le
compilateur ne detecte pas : if ( n=0 )
A la place de if ( n==0)
Avec l'erreur de frappe le programme va compilé, et va même donner l'illusion de fonctionner sauf que le résultat est faux.
Si ton compilateur ne proteste pas sur cette ligne, c'est qu'il est mal configuré. Il faut impérativement passer les bonnes options au compilateur
C'est justement l'avantage de écriture if (0=n).
C'est le seul avantage de cette écriture, mais cet avantage est illusoire puisqu'il suffit de configurer correctement son environnement de compilation pour obtenir le warning utile et bien d'autres encore. De plus, je trouve que les inconvénents en termes de lisibilité sont significatifs, mais cette opinion est personnelle.
Car, même, dans le cas d'un compilateur desuet, ou mal configuré, l'erreur sera mentionnée.
Pourquoi tolérer que le compilateur soit mal configuré ? Bien d'autres erreurs passeront inaperçues avec de telles méthodes. Quel environnement désuet ne supporte pas un tel niveau d'avertissements ? Je pratique le C depuis plus de 25 ans, cela fait au moins 15 ans que je n'ai plus vu d'environnement dans lequel je ne puisse pas configurer ou installer les outils minimaux pour programmer avec des méthodes saines.
Alors que l'ecriture que tu préferres risque de passer inaperçu dans certains cas.
Je ne vois pas dans quels cas ?
Nonobstant, je suis d'accord avec toi, il vaut mieux disposer des meilleurs outils correctement parametrés. Mais est-ce, partout et tout le temps, possible ?
Je prétends que oui.
Chqrlie.
"Ael Rowan Terence" <Nul@Null.fr> a écrit dans le message de news:
f7l37m$v07$1@news1.completel.net...
"Charlie Gordon" <news@chqrlie.org> a écrit dans le message de
news:46826773$0$10944$426a74cc@news.free.fr...
"Ael Rowan Terence" <Nul@Null.fr> a écrit dans le message de news:
f5tmrv$mnm$1@news1.completel.net...
Pardon , je n'ai pas été clair, je parle de cette erreur de frappe, que
le
compilateur ne detecte pas :
if ( n=0 )
A la place de
if ( n==0)
Avec l'erreur de frappe le programme va compilé, et va même donner
l'illusion de fonctionner sauf que le résultat est faux.
Si ton compilateur ne proteste pas sur cette ligne, c'est qu'il est mal
configuré. Il faut impérativement passer les bonnes options au
compilateur
C'est justement l'avantage de écriture if (0=n).
C'est le seul avantage de cette écriture, mais cet avantage est illusoire
puisqu'il suffit de configurer correctement son environnement de compilation
pour obtenir le warning utile et bien d'autres encore. De plus, je trouve
que les inconvénents en termes de lisibilité sont significatifs, mais cette
opinion est personnelle.
Car, même, dans le cas d'un compilateur desuet, ou mal configuré, l'erreur
sera mentionnée.
Pourquoi tolérer que le compilateur soit mal configuré ? Bien d'autres
erreurs passeront inaperçues avec de telles méthodes.
Quel environnement désuet ne supporte pas un tel niveau d'avertissements ?
Je pratique le C depuis plus de 25 ans, cela fait au moins 15 ans que je
n'ai plus vu d'environnement dans lequel je ne puisse pas configurer ou
installer les outils minimaux pour programmer avec des méthodes saines.
Alors que l'ecriture que tu préferres risque de passer inaperçu dans
certains cas.
Je ne vois pas dans quels cas ?
Nonobstant, je suis d'accord avec toi, il vaut mieux disposer des
meilleurs
outils correctement parametrés. Mais est-ce, partout et tout le temps,
possible ?
"Ael Rowan Terence" a écrit dans le message de news: f7l37m$v07$
"Charlie Gordon" a écrit dans le message de news:46826773$0$10944$
"Ael Rowan Terence" a écrit dans le message de news: f5tmrv$mnm$
Pardon , je n'ai pas été clair, je parle de cette erreur de frappe, que le
compilateur ne detecte pas : if ( n=0 )
A la place de if ( n==0)
Avec l'erreur de frappe le programme va compilé, et va même donner l'illusion de fonctionner sauf que le résultat est faux.
Si ton compilateur ne proteste pas sur cette ligne, c'est qu'il est mal configuré. Il faut impérativement passer les bonnes options au compilateur
C'est justement l'avantage de écriture if (0=n).
C'est le seul avantage de cette écriture, mais cet avantage est illusoire puisqu'il suffit de configurer correctement son environnement de compilation pour obtenir le warning utile et bien d'autres encore. De plus, je trouve que les inconvénents en termes de lisibilité sont significatifs, mais cette opinion est personnelle.
Car, même, dans le cas d'un compilateur desuet, ou mal configuré, l'erreur sera mentionnée.
Pourquoi tolérer que le compilateur soit mal configuré ? Bien d'autres erreurs passeront inaperçues avec de telles méthodes. Quel environnement désuet ne supporte pas un tel niveau d'avertissements ? Je pratique le C depuis plus de 25 ans, cela fait au moins 15 ans que je n'ai plus vu d'environnement dans lequel je ne puisse pas configurer ou installer les outils minimaux pour programmer avec des méthodes saines.
Alors que l'ecriture que tu préferres risque de passer inaperçu dans certains cas.
Je ne vois pas dans quels cas ?
Nonobstant, je suis d'accord avec toi, il vaut mieux disposer des meilleurs outils correctement parametrés. Mais est-ce, partout et tout le temps, possible ?