Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Char Array vergleichen

Empfohlene Antworten

Veröffentlicht

Hallo,

ich hab folgendes Problem. Ich möchte ein Char Array mit einem erwarteten Inhalt vergleichen. Das Problem ist nur, dass der erwartete Wert Variablen enthält.

Der erwartete Wert sieht so aus:

("Sector%010ld___Disk_Check_____ID%010ld__", start, id);

Die Variable "start" ändert sich, und das Vergleichen findet öfter statt. Ich habe mich schon mit der "strcmp" versucht.... Das sieht bei mir so aus:

if(strcmp(buffer, ("Sector%010ld___Disk_Check_____ID%010ld__") ) == 0);

So läufts zwar durch, aber wie bekomme ich da meine Variablen mit rein? Weil so überprüft er ja nur, ob an dene bestimmten Stellen Zahlen stehen, ich muss aber wissen, ob dort genau der erwartete Wert steht... :(

Hat jemand eine Idee, wie ich das machen könnte? Ich hab auch überlegt, dass man den erwarteten Wert aufgliedert, hab aber keine Lösung dafür gefunden.

Weil so überprüft er ja nur, ob an dene bestimmten Stellen Zahlen stehen,
Wie kommst du darauf? Das kann strcmp gar nicht.

ich muss aber wissen, ob dort genau der erwartete Wert steht... :(
In einem Schritt geht das nicht. Mach zwei draus: Bau dir mit sprintf einen String zusammen, der genauso wie der erwartete aussieht. Dann kannst du auch vergleichen.
Wie kommst du darauf? Das kann strcmp gar nicht.

Naja ich dachte das, weil ich keine Fehlermeldung bekam, und die if-Abfrage erfolgreich war, obwohl eigentlich kein Wert bei "%010ld" vorhanden war...

Aber gut, das wusste ich nicht.. ;)

In einem Schritt geht das nicht. Mach zwei draus: Bau dir mit sprintf einen String zusammen, der genauso wie der erwartete aussieht. Dann kannst du auch vergleichen.

Hat wunderbar funktioniert, danke dir! :)

Naja ich dachte das, weil ich keine Fehlermeldung bekam, und die if-Abfrage erfolgreich war, obwohl eigentlich kein Wert bei "%010ld" vorhanden war...
"Erfolgreich" war es vermutlich nur, weil du das Ergebnis falsch interpretiert hast. Bei Übereinstimmung gibt strcmp 0 zurück. Mit
if(strcmp(x,y))
prüfst du also auf Ungleicheit, weil das gleichbedeutend ist mit
if(strcmp(x,y) != 0)

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.