
Moin, * Bernd Brodesser <B.Brodesser@t-online.de> [02-07-29 11:08]:
* Thorsten Haude schrieb am 28.Jul.2002:
* Jan Trippler <Jan.Trippler@t-online.de> [02-07-28 21:26]:
Nur mal so am Rande: Welchen Sinn hat es hier, strncmp() statt schlicht strcmp(use_fqdn, "no") zu nutzen? strncmp() vergleicht auch nur _höchstens_ 3 Byte, maximal aber bis zum ersten Null-Byte. In welchem Fall also sollte sich hier strncmp anders verhalten als strcmp?
Laut dem C:ARM vergleicht strcmp() bis zum ersten Unterschied. Es wird erwähnt, daß die Strings Null-terminiert sein sollen, aber nicht explizit, daß er bei der \0 aufhört, zu vergleichen.
Bei \0 hört der Vergleich auf.
Das ist die Vermutung. Da sich nichtmal das C:ARM (0-13-326224-3) dazu eindeutig äußert, fände ich einen Beleg hilfreich.
Außerdem spart das strncmp() jeden weiteren Gedanken über das Thema und ist darum per se besser.
Unsinn. Wenn Du nicht weißt, wie lang ein String ist, ist es immer besser, Du vergleichst bis zum Ende.
Es sei denn, Du hast weniger als beliebig viel Speicher. Thorsten -- The smart way to keep people passive and obedient is to strictly limit the spectrum of acceptable opinion, but allow very lively debate within that spectrum. - Noam Chomsky