Twoje PC  
Zarejestruj się na Twoje PC
TwojePC.pl | PC | Komputery, nowe technologie, recenzje, testy
B O A R D
   » Board
 » Zadaj pytanie
 » Archiwum
 » Szukaj
 » Stylizacja

 
M E N U
  0
 » Nowości
0
 » Archiwum
0
 » Recenzje / Testy
0
 » Board
0
 » Rejestracja
0
0
 
Szukaj @ TwojePC
 

w Newsach i na Boardzie
 
OBECNI NA TPC
 
 » NimnuL 11:50
 » Artaa 11:48
 » Rybeck 11:47
 » burz 11:46
 » Wedelek 11:45
 » Markizy 11:45
 » P@blo 11:43
 » m&m 11:38
 » petropank 11:32
 » yanix 11:21
 » KHot 11:18
 » Jumper 11:17
 » Kenny 11:17
 » DYD 11:11
 » ligand17 11:05
 » Dexter 11:01
 » waski 10:58
 » Liu CAs 10:55
 » kyusi 10:40
 » Promilus 10:37

 Dzisiaj przeczytano
 41136 postów,
 wczoraj 25974

 Szybkie ładowanie
 jest:
włączone.

 
ccc
TwojePC.pl © 2001 - 2024
A R C H I W A L N A   W I A D O M O Ś Ć
    

Prosba o pomoc z programikiem w C , Barts_706 12/01/06 09:29
Potrzebuje na szybko programik w C wyszukujacy w lancuchu znakow kolejne podciagi (rozgraniczone jakims konkretnym znakiem), i porownujacy kolejne podciagi z jakims testowym lancuchem.

W C troche programowalem, ale glownie kontrolery i w zwiazku z tym nie bardzo znam sie na lancuchach i brakuje mi roznych C++ funkcji do obrobki stringow. Stad prosba o pomoc, bo potrzebuje do jutra to miec napisane.

A dokladny opis problemu ponizej :

Mamy bufor znakow szBuff[], powiedzmy ze o takiej zawartosci :

szBuff[] = {'a','b','c','X','d','e','f','g','X','h','i','X'};

gdzie np. 'a','b','c' jest jednym podciagiem (zdaniem, lancuchem, buforem, whatever), a 'X' znakiem konca linii.

Chodzi o to, zeby po kolei wyciagac takie lanuchy, i porownywac z buforem testowym. Np :

testBuff[] = {'d','e','f','g','X'} //albo bez 'X' na koncu, tego jeszcze nie jestem pewien, ale to w sumie niewazne

Wiec z szBuff[] wyciagamy po kolei 'a','b','c' i porownujemy, nie jest to co ma byc, to nastepny 'd','e','f','g', porownujemy, to jest to , sukces.

Ktos wie jak to ugryzc? Te funkcje ze string.h sa strasznie upierdliwe w uzyciu. Myslalem uzyc strstr do porownania i strpbrk do ustawiania jakiegos countera na aktualna pozycje znaku 'X', ale to jakos malo eleganckie mi sie wydaje, a poza tym one zwracaja tylko wskaznik do elementu, i nie bardzo wiem jak go uzyc.

A jesliyb ktos mial podobny kawalek kodu, to bede bardzo wdzieczny gdyby go tu wkleil.

_______________________________

http://jawnesny.pl

  1. poczytaj o , wukillah 12/01/06 09:35
    algorytmie Knutha-Morrisa-Pratta

    just d'oh it!

    1. syntax error in line 2 , beef 12/01/06 10:17
      kolega nie chce wyszukiwać podciągów, a dzielić w oparciu o separatory. No chyba, że chcesz KMP wyszukiwać pojedyncze znaki :)

      this is the time of the revolution
      keepin' it in the right track
      feelin' it in my mind back

      1. hmmm , wukillah 12/01/06 10:22
        "Potrzebuje na szybko programik w C wyszukujacy w lancuchu znakow kolejne podciagi (...)" - jak dla mnie to jest to problem
        wyszukiwania wzorca. Moze nie zrozumialem pytania.

        just d'oh it!

        1. nie ma to... , beef 12/01/06 10:28
          ...jak dopasować cytat do tezy :) A w tym nawiasiku, co to tak wyciąłeś lekką ręką, to co było, he? "Rozgraniczone jakims konkretnym znakiem". A to stawia całe pytanie w ZUPEŁNIE innym świetle. Nie ściemniaj, żeś nie zrozumiał, po prostu nie chciało Ci się przeczytać :) Inna sprawa, że kolega zaczął pytaniem o "wyszukiwanie podciągów", a powinno być o "podział ciągu", ale jeśli by się na tym znał, to by nie pytał, prawda?

          this is the time of the revolution
          keepin' it in the right track
          feelin' it in my mind back

  2. użyj funkcji , beef 12/01/06 10:16
    strtok. Robi dokładnie to, czego potrzebujesz. Na pewno jest mniej upierdliwa, niż pisanie tego ręcznie :)

    this is the time of the revolution
    keepin' it in the right track
    feelin' it in my mind back

  3. Oka, chlopaki, dzieki, ale... , Barts_706 12/01/06 12:45
    ...czy nie macie jakis podobnych programikow do podrzucenia? Latwiej by mi bylo.

    Siedze w tym wlasnie i na razie udalo mi sie zrobic kawalek porownujacy jakis (juz wyciety) ciag z wzorcem. Ponadto zastanawiam sie, czy nie przekonwertowac tego na normalne stringi i potem nie uzywac tamtych funkcji, czy to aby prosciej nie bedzie?

    A, no i sorki za niescisle sformulowania, ale informatyke na studiach mialem dosyc slaba, a potem sie douczalem sam ze zrodel bardzo roznych, wiec jesli idzie o nomenklature, to roznie bywa. Staralem sie mozliwie jasno wytlumaczyc, widac ze np. kolega beef zaskoczyl o co chodzi, czyli nie jest az tak bardzo fatalnie.

    Za wszelkie odpowiedzi dzieki, kazde nastepne beda rownie mile widziane.

    _______________________________

    http://jawnesny.pl

  4. masakra ten C... , josh 13/01/06 01:26
    ...niesamowity jezyk. Uczylem sie go, ale od poczatku traktowalem bardziej jako ciekawostke. Trzeba byc wg mnie strasznym twardzielem, zeby pisac w tym cokolwiek skomplikowanego.

    Zeby jednak tworzyc w nim aplikacje uzytkowe z wyboru to juz raczej totalny hardcore :) Przeciez jeszcze tylko jeden maly kroczek w tyl i mamy assemblera. Nie powiem - poznawanie C to bylo ekscytujace zajecie, ale to co w C piszesz w tydzien mozesz np. w takiej Javie zrobic w jeden dzien znajac obydwa jezyki na tym samym poziomie.

    Nie, zebym mial cos przeciwko C. Rozumiem, ze moze byc sytuacja, ze programujemy jakies urzadzenie a nie komputer i jesli mamy do wyboru tylko C to co robic...

    1. Zgadzam sie , Barts_706 13/01/06 02:27
      To jest jezyk w pol drogi miedzy asemblerem a jezykami wyzszego poziomu w rodzaju Javy i C++ (IMHO rzecz jasna, inni moga sie nie zgodzic).

      Potega Javy tkwi w latwosci pisania, przenosnosci (portability, jak to sie kufa mowi po polsku?) i setkach gotowych do uzytku klas. Potega C++ tkwi w szybkosci, elastycznosci i niesamowitych funkcjach rozszerzajacych podstawowa specyfikacje jezyka (przede wszystkim STL, to tak niewiarygodnie upraszcza wszystko).

      Miedzy innymi dlatego pytalem tu o pomoc, bo brakuje mi troche roznych ulatwien i ciezko i opornie mi to idzie.

      Ale C ma swoje plusy rowniez, no i do programowania troszke nizszego poziomu (mikrokontrolery, czujniki rozne etc) jest jak na razie podstawa.

      _______________________________

      http://jawnesny.pl

    
All rights reserved ® Copyright and Design 2001-2024, TwojePC.PL