AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Frage zu C Quellcode

Ein Thema von Salomon · begonnen am 1. Feb 2003 · letzter Beitrag vom 2. Feb 2003
 
Benutzerbild von d3g
d3g

Registriert seit: 21. Jun 2002
602 Beiträge
 
#6
  Alt 1. Feb 2003, 19:15
Zitat von Salomon:
Was bewirken die "*" [...] vor den Variablen?
Das * ist in diesem Fall (es steht natürlich auch für Multiplikation) der Derefernzierungsoperator: ist cmd ein Pointer, so ist *cmd der Inhalt der Speicherstelle, auf die der Pointer zeigt.
Zitat von Salomon:
Was macht die Function "!strnicmp", konnte dazu nichts in der Delphi Hilfe finden.
strnicmp() verlgleicht zwei Strings, ohne auf die Groß-und Kleinschreibung zu achten. Das dient zur Sortierung von Wörtern. Die Funktion gibt einen Wert kleiner null zurück, ist String 1 kleiner als String 2 (weiter oben im Alphabet), einen Wert > 0, ist String 1 größer als String 2 und 0, wenn beide Strings gleich groß sind.
Zitat von Salomon:
Was macht die Schleife???
Du hast es hier mit einem C-typischen Konstrukt zu tun, das funktioniert, weil in C ein Array ein Pointer auf sein erstes Element ist. Die Expression "*cmd && *cmd < ' '" überprüft, ob ein Zeichen nicht \0 und außerdem ein darstellbares kein Zeichen ist. Ich nehme einmal an, dass buffer ein nullterminierter String ist, also ein *char oder char[]: Die Schleife geht vom ersten Zeichen an durch das Array durch und zählt jeweis den Pointer eine Stelle höher, d.h. es wird immer das nächste Element im Array überprüft. Wenn cmd auf ein darstellbares Zeichen zeigt, wird der nachfolgende Code ausgeführt. Weil der Code auch abbricht, wenn das Ende des Strings (\0) erreicht ist (Überprüfung "*cmd"), sorgt die nachfolgende if-Abfrage dafür, dass der folgende Code nicht ausgeführt wird, wenn dies geschieht (es wird zum Anfang der Schlefe gesprungen, in der sich der Code befindet, den du gepostet hast).

MfG,
d3g
-- Crucifixion?
-- Yes.
-- Good. Out of the door, line on the left, one cross each.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz