2016-04-18 10 views

Antwort

0

Es sieht so aus, als ob Ihr Debugger es zur Hälfte als String und zur Hälfte als Array behandelt.

Sie können ganz klar sehen, dass es sechs Array-Elemente, mac[0] durch mac[5].

Aber, da die mac Linie entschieden hat, dass sie einen String ausgeben will, ist es der letzte\0 behandeln, als das Nullabschluss der Zeichenfolge. In der C-Welt würde die erste wie \0 als das Ende der Zeichenfolge betrachtet werden.

Ob es sich um einen Fehler handelt, hängt davon ab, was die Debugger-Dokumentation angibt. Wenn es besagt, dass es C-artige Strings ausgeben wird, dann scheint es ja ein Bug zu sein.

Wenn es nicht sagen, dass es als eine Implementierung Entscheidung oder im schlimmsten Fall eine Schwäche geschrieben werden kann.

Verwandte Themen