Witam, mam pewien problem z sprawdzaniem wyraz?w (dok?adniej z strfind). Mianowicie funkcja ta zwraca zawsze -1 (czyli nie znalaz?o) pomimo, ?e powinno znale??.
Jak sobie wyprintowa?em wpisany wyraz + s?owa z pliku (przypisane do tablicy) to wszystko jest OK ale zawsze strfind zwraca -1. Czemu tak si? dzieje? Za? jak wpisze ostatni wyraz z pliku to p?tla WHILE wystartuje i b?dzie si? wykonywa?a w niesko?czono??.
Po wczytaniu wszystkich wyraz?w z pliku, wyprintuj je dla pewno?ci ze zmiennej:
(sprawd? czy wszystko si? wczytuje jak trza)
[ Dodano: 2014-07-03, 17:49 ]
Prosz? bardzo. Ju? Ci m?wi? dlaczego Tw?j kod nie dzia?a. Bo usuwasz to co wczyta?e? z pliku (lini?), od razu po jej wczytaniu. ?apaj m?j kod.
[ Dodano: 2014-07-03, 17:53 ]
Pami?taj te?, ?eby usuwa? z wczytanej linii \n.
Problem tkwi? w tym, ?e w pliku gdzie trzyma?em wyrazy by?y one w nast?pnej linii (czyli przy odczytywaniu dawa?o dwie spacje) dlatego te? strfind nie m?g? znale?? takich samych wyraz?w.
A wi?c strdel pozostaje na tym samym miejscu jedynie co to musia?em zmieni? troch? t? funkcje, tak aby wyeliminowa?a te puste pola.
len = strlen(buff) - Zwraca d?ugo?? ca?ego stringu (r?wnie? te spacje).
strdel(buff, len - 2, len); - Za? ta funkcja odpowiada za usuwanie tych spacji od momentu ich wstawienia. Czyli jak mam wyraz: gtaonline . to od tego s?owa do kropki znajduj? si? 2 spacje i usuwa mi te dwie spacje.
strdel(buff, gdzie ma rozpocz?? usuwanie, koniec usuwania); - buff - tam gdzie mi zapisuje string odczytany, p??niej rozpoczyna usuwanie od ko?ca wyrazu a? po koniec tego stringu. Trzeba powiedzie?, ?e strdel nie usuwa CA?EGO stringu (w moim przypadku) tylko usuwa cz??? gdzie s? spacje. Tyle w temacie.
Czyli, ?e od razu przy wczytywaniu wyraz?w usuwa mi te spacje.
Jednak?e, musz? napisa? ?e dzi?ki Tobie mi si? uda?o doj?? do tego poniewa?, napisa?e? mi ?e mam usun?? z wczytanej linii \n. Wielkie dzi?ki a temat mo?na zamkn??.
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach