Strona 1 z 1

[C] Stringi a parametry w nich zawarte

: 17 wrz 2012, o 13:56
autor: miki999
Witam,
mam sobie stringa:

Kod: Zaznacz cały

Nazwa parametr1 parametr2
Pytanie:
w jaki najłatwiejszy sposób wyłuskać z tego stringa wartości "parametr1" oraz "parametr2"?

Dodam jeszcze, co jest moim celem:
otrzymuję Instrukcja zmienna1 zmienna2 najpierw szukam Instrukcja ze zbioru instrukcji i wykonuję przypisaną do niej operację z parametrami zmienna1 i zmienna2.

Dla ułatwienia mogę również zmodyfikować otrzymywanego stringa, aby np. przed parametrem był jakiś symbol, np. $:

Kod: Zaznacz cały

Nazwa $parametr1 $parametr2
Myślałem nad badaniem wszystkiego znak po znaku, ale to bez sensu.

Znalazłem też bibliotekę string.h i zastanawiam się, co najlepiej wykorzystać, aby nie robić tego na około.


Będę wdzięczny za pomoc.

[C] Stringi a parametry w nich zawarte

: 17 wrz 2012, o 14:58
autor: wawek91
Tzn, bo nie do końca rozumiem. Podaj przykład jak wygląda np taki string, bo nie potrafię sobie tego nawet wyobrazić jak string ma się składać z nazwy i 2 parametrów.

[C] Stringi a parametry w nich zawarte

: 17 wrz 2012, o 15:17
autor: Althorion
Tokenizacja stringa -> ... ng/strtok/
Znajdowanie podciągu spójnego -> ... ng/strstr/
Znajdowanie znaku -> http://www.cplusplus.com/reference/clib ... ng/strchr/

To pierwsze będzie chyba najbardziej przydatne.

[C] Stringi a parametry w nich zawarte

: 17 wrz 2012, o 16:25
autor: Zordon
Nie wiem czy o to chodzi, i w dodatku to jest C++, ale napiszę:

Kod: Zaznacz cały

#include <sstream>


    string s="sagfsdg fdsgdsg dsgdsg";
    stringstream ss(s);
    string a,b,c;
    ss>>a>>b>>c;
    cout<<a<<"
";
    cout<<b<<"
";
    cout<<c<<"
";

[C] Stringi a parametry w nich zawarte

: 17 wrz 2012, o 17:29
autor: miki999
Dzięki za odp.
bo nie potrafię sobie tego nawet wyobrazić jak string ma się składać z nazwy i 2 parametrów
Np. Move 20 10- i na podstawie tego wykonuję dany podprogram z argumentami "20" i "10".

Althorion, rzeczywiście, to praktycznie rozwiązuje moje problemy.

Tak z ciekawości, co wykonuje 7. linijka kodu u Zordona? Wygląda jak przesunięcia bitowe Chyba że to coś typowego dla C++.

[C] Stringi a parametry w nich zawarte

: 17 wrz 2012, o 18:14
autor: wawek91
W C++ << i >> to nie tylko przesunięcia bitowe ale też wczytywanie i zczytywanie ze strumieni wejścia/wyjścia.

[C] Stringi a parametry w nich zawarte

: 17 wrz 2012, o 20:12
autor: Althorion
Dokładniej: C++ obsługuje przeciążenie operatorów. Trywializując, klasa „pożycza sobie” jakiś operator i wykorzystuje go do własnych celów. Streamy mają np. przeciążone „<<” i „>>”. Wygodna rzecz (np. konkatenacja stringów z użyciem „+”, a nie jawne wywoływanie odpowiedniej metody) i genialny sposób na zamotanie kodu (przeciążmy sobie takiego „*” na przykład…).

[C] Stringi a parametry w nich zawarte

: 17 wrz 2012, o 21:37
autor: Zordon
Czy koniecznie musisz używać czystego C? Jeśli nie, to radze czym prędzej się przesiąść na C++.

[C] Stringi a parametry w nich zawarte

: 17 wrz 2012, o 22:27
autor: miki999
Potrzebne mi to do projektu na mikrokontroler a nie na PC-ta i dlatego jest C.
Teoretycznie mógłbym to wrzucić do nowego projektu na C++, ale chyba szkoda zabawy, skoro aplikacja, na której bazuję, była oryginalnie w C.

[C] Stringi a parametry w nich zawarte

: 18 wrz 2012, o 13:36
autor: kkk
Jeśli możesz podać parametry na starcie programu, to możesz się bawić z:

Kod: Zaznacz cały

int main(int argc, char *argv[]) {
 /* ... */
}
i później ewentualnie parametry konwertować na liczby. Nie wiem jednak czy takie rozwiązanie Ci odpowiada.

Pzdr.