Zum Inhalt springen

Joshi274

Mitglieder
  • Gesamte Inhalte

    4
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von Joshi274

  1. Diese Lösung finde ich sehr gut, danke dir für deine Hilfe, das ist sehr viel einfacher als meins Das Problem mit dem Abschnitt vergleichen bleibt aber trotzdem. Ich habe den String nun erweitert und lasse nur bis zu dem Punkt suchen wo ich es haben will, da alles was nicht Ende ist ja erkannt und bestätigt wird das es gleich ist. Nicht optimal aber solange es funktioniert ist das ok. Schreibt mir dennoch gerne noch Lösungen für das Problem, da meine Lösung sicher nicht immer gehen wird.
  2. Der Fehler an sich ist das ich nach dem zerteilen den letzten teil, nämlich " - give it to gsm" , nicht mit meinem string, in dem exakt das selbe steht vergleichen kann, er sagt mir dann die seien nicht gleich. Deswegen war meine Vermutung das vllt hinter dem letzten Abschnitt der strtok Methode noch Leezeichen oder Zeilenumbrüche sind, ansonsten müssten sie doch übereinstimmen
  3. Hallo Leute, ich bin relativ neu in der Programmierwelt und habe noch keine Große Erfahrung mit Fehlern oder in meinem Fall: Probleme die auftretten, aber keine Fehlermeldung aufgeben. Ich habe das Problem das ich via der Funktion strtok einen String zerteile und in ein Array speichern will. Soweit alles kein Problem, doch wenn ich jetzt die Werte in dem Array mit strcmp (also ja , der Inhalt, nicht der pointer) mit einem 2ten String vergleichen will, dann klappt das bei jedem außer bei dem letzten Abschnitt. Also klappen tut es schon nur stimmen alle überein, nut der letzte will nicht, deswegen meine Frage: Endet der String mit dem letzten Zeichen oder sind dort noch Leerzeichen oder ähnliches angehängt? Quelltext: #include <stdio.h> #include <stdlib.h> #include <string.h> int k, l, u ; char* stringteiler[10] = {0} ; char begin[ ] = "D:MAIN esp sending data <" ; char line [5000] = "D:MAIN esp sending data <75> - give it to gsm" ... if (strncmp(begin, line, 25) == 0) // Vergleich { printf("********This is maybe the right String: %s", line); char *ptr; char delimiter[] = "<>"; ptr = strtok(line, delimiter); for (u=0; ptr !=NULL; u++) { printf("section found: %s\n", ptr); stringteiler = ptr; ptr = strtok(NULL, delimiter); } for (l=0; l<u; ++l) { printf ("Stringteiler[%u]: %s\n", l, stringteiler[l]); } if (strcmp(stringteiler[1], "75") == 0 && strcmp(stringteiler[2], " - give it to gsm") == 0) //Fehler bei strinteiler[2] { printf("Condition is given\n"); } else { printf("Condition isn't given\n"); } break; } ... Falls ich was vergessen habe reinzustellen oder etwas falsch übertragen habe, bitte melden. Im Programm selbst funktioniert alles.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...