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.