Frage zu Pointern

OP #2484241
Lesenswert?
• ▲
▼
Hallo zusammen,

ich habe eine Frage zu Pointer (stehe mit denen echt auf Kriegsfuss ;-( 
). Ist zwar ein Fujitsu 16fx / 96340 Projekt mit Softune, denke aber, 
dass es sich eher um eine grundsätzliche Frage handelt.

Also - in meinem Hauptprogramm ist folgendes drin:
1
char webIfParsed[64];
2
...
3
*webIfParsed = 0;
4
parse_command(webIfGotData, webIfParsed);
5
if (strcmp(webIfParsed, "getstatus") == 0)  // status requested
6
{
7
  ....
8
}

Klappt soweit wunderbar, der Vergleich funktioniert und die If-Bedingung 
wird auch wie gewünscht ausgeführt.

Nun zum Problem - ich möchte gerne innerhalb von parse_command bereits 
einen Vergleich auf den Wert machen:
1
void parse_command(const char *input, char* command)
2
{
3
  // Achtung, hier nicht webIfParsed, sondern command
4
  /* copy first token to command */
5
  while (( *input != 0) && (*input != ' ') && (*input != 10))
6
  {
7
    *command = *input;
8
    command++;
9
    input++;
10
  }
11
  *command = 0;
12
  
13
  // HIER DER VERGLEICH
14
  if (strcmp(command, "getstatus") == 0)
15
  {
16
    ....
17
  }
18
....
19
}

Dieser Vergleich klappt nicht ?! Ich stehe echt auf dem Schlauch, kann 
mir jemand helfen?

Danke,
Sebastian
OP #2484260
Lesenswert?
• ▲
▼
Hallo ihr zwei,

genial - 100000 Dank ! (ohne Übertreibung ;-). Ich sag ja, ich steh mit 
Pointern auf Kriegsfuss.

Merke mir jetzt mit einer weiteren Variable den Anfang und vergleiche 
dagegen, hier nochmal komplett, wenn jemand mal eine entsprechende 
Lösung sucht ;-)
1
void parse_command(const char *input, char* command)
2
{
3
  char* ptr_val;
4

5
  // Achtung, hier nicht webIfParsed, sondern command
6
  /* copy first token to command */
7
  ptr_val = command;
8
  while (( *input != 0) && (*input != ' ') && (*input != 10))
9
  {
10
    *command = *input;
11
    command++;
12
    input++;
13
  }
14
  *command = 0;
15
  
16
  // HIER DER VERGLEICH
17
  if (strcmp(ptr_val, "getstatus") == 0)
18
  {
19
    ....
20
  }
21
....
22
}

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.