Stringdurchforstung --> Argh
-
Hi,
ich bin seit sage und schreibe 2 Stunden dran einen string nach parametern zu durchforsten!
Dies ist mein String:
""c:\mein ordner\test.exe" -u c:\winnt\notepad.exe?notepad.exe|c:\winnt\mspaint.exe?paint.exe"Ich versuche die ganze Zeit Folgendes heraus zu finden:
1. ob -u gesetzt ist. Wenn ja soll die variable "char u" auf 1 gesetzt werden, ansonsten auf 0
2. das was nach dem -u ist wenn es vorhanden ist, oder wenn es nicht vorhanden ist in einen puffer schieben.Daran verzweifle ich total
bin die ganze zeit mit strstr rumamklamüsern und es geht echt net mehr
Hat jemand eine Ahnung wie man das machen kann? sorry, bin noch nicht so lange im "C geschäft" daher totaler noob
-
Hallo,
ein kleiner Ansatz:
char u='0'; char *pos = strstr(str, " -u "); if (pos != 0) { //-u wurde in str gefunden u = '1'; //Kopiere Elemente in char array (index von "-u" bekommst du über: int index = (pos-str); };
EDIT: Suchstring korrigiert, siehe volkards post
-
strtok ist dein freund
-
Shade Of Mine schrieb:
strtok ist dein freund
vielleicht auch nicht... http://www.c-plusplus.net/forum/viewtopic-var-t-is-125329-and-postdays-is-0-and-postorder-is-asc-and-start-is-0.html
-
GPC schrieb:
Shade Of Mine schrieb:
strtok ist dein freund
vielleicht auch nicht... http://www.c-plusplus.net/forum/viewtopic-var-t-is-125329-and-postdays-is-0-and-postorder-is-asc-and-start-is-0.html
kommt immer auf den verwendungszweck an...
strtok spart speichermanagement - das ist ein nachteil aber eben auch ein vorteil
-
gesucht muß wohl werden nach " -u ", um nucht schon bei der i-am-ugly.exe anzuspringen.
falls die autoren der suchstrings böse sind, dann auch "/-u " und evtl weitere abwandlungen "./u ", wo der kommandoprozessor so frei ist, das zeichen als trenner zwischen befehl und parameterliste zu erkennen.
vergleiche die ausgaben von
echo -bla
echo/-bla
echo.-bla
-
warum nicht erstmal den string in args zerteilen?
ich wunder mich aber grade, wieso der OP nicht argc und argv benutzen kann...
-
Shade Of Mine schrieb:
GPC schrieb:
Shade Of Mine schrieb:
strtok ist dein freund
vielleicht auch nicht... http://www.c-plusplus.net/forum/viewtopic-var-t-is-125329-and-postdays-is-0-and-postorder-is-asc-and-start-is-0.html
kommt immer auf den verwendungszweck an...
strtok spart speichermanagement - das ist ein nachteil aber eben auch ein vorteil
Na gut, aber ich halte mich trotzdem davon fern. Bei solchen Sachen kann man auch mal selber mit ner Schleife extrahieren.