Hallo,
ich habe zwei Fragen zu C, da ich ansonsten mit ASM arbeite. Als
Compiler verwende ich in dem Fall den C18 von Microchip.
Ich habe einen Byte Buffer "input_buffer".
Die folgende Abfrage funktioniert:
if(input_buffer[0} == 1 && input_buffer[0} == 2) { ... }
Wie aber kann man mit dem C18 komplette Strings abfragen, etwa so:
if(input_buffer[] == "Hallo Welt") { ... }
Falls es da eine Möglichkeit gibt würde mich auch noch interessieren ob
man auch trunkierte Abfragen machen kann, etwa sowas:
if(left(input_buffer[],3) == "ABC" ) { ... }
Sorry für die vermutlich einfache Frage, aber mit C habe ich bislang so
gut wie nie etwas gemacht :)
Danke für alle Antworten.
Hallo Matze, Es gibt unter C sehr viele String-Funktionen, auch Stringvergleichsfunktionen. Heißen meist str.... Du würdest die Funktion "strcmp" oder "strncmp" (Vergleich) benötigen. Nimm entweder ein "C-Sprachbuch" in die Hand oder Google mal danach. Mfg Ruppi66
Matze schrieb: > Die folgende Abfrage funktioniert: > if(input_buffer[0} == 1 && input_buffer[0} == 2) { ... } Das funktioniert absolut sicher nicht.
Nein, der Fehler ist abtippen zu wollen anstatt 1:1 zu kopieren. Wie soll man in Quelltexten Fehler suchen, die so etwa ähnlich sind dem Original, aber nicht so ganz? Aber ansonsten hat Ruppi66 recht: Standard-C-Funktionen strcmp, strncmp -> C-Buch!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.