skywalkerrr Opublikowano 10 Lutego 2006 Zgłoś Opublikowano 10 Lutego 2006 Witam Potrzebuje napisac funkcje w C, ktora bedzie odczytywala kolejne linie z pliku i kazda linia jest podstawiana pod wskaznik typu char ,tak zeby kazdy kolejny wskaznik wskazywal na kolejna linie z pliku. Kod,ktory napisalem nie dziala: FILE *f;f = fopen(file, "rt");char *ptr[6]; while(feof(f)==0) { int i; for(i=0;i<6;i++) fgets(ptr[i],80,f); } fclose(f); Prosze o jakiekolwiek wskazowki,gdyz jestem poczatkujacy w c/c++ i nie mam pojecia co jest zle. Z gory dziekuje. Pozdrawiam Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 10 Lutego 2006 Zgłoś Opublikowano 10 Lutego 2006 (edytowane) pierwsza sprawa jest taka.. że stworzyłęś sobie tablice 6 wskaźników na char... i na tym koniec.. jak chces przechować gdzies dane to musisz teraz zaalokować dla nich miejsce (operator new).. dokładniej musisz stworzyć tablice na znaki wczytane z pliku... wskaxnik wskazuje tylko miejsce w pamieci... w nim nie można trzymać danych, a już napewno nie całej linii bajtów... FILE *f;f = fopen(file, "rt");char *ptr[6]; // tablica wskaźników na tablice znaków... while(!feof(f)) // wystarczy sprawdzić warunek dopóki nie end of file, a nie żadne feof==0 { int i; for(i=0;i<6;i++) // to tez jest niebezpieczne, bo EOF moze sie { // pojawic zani wczytasz 6 linii... i co wtedy? // najlepiej wywalić tą petle w ogóle i dodać inkrementację // i++ (ze sprawdzeniem czy nie przekraczasz ptr[6] ptr[i]=new char[100]; // tu robisz bufor na linię... fgets(ptr[i],80,f); } } fclose(f); Edytowane 10 Lutego 2006 przez PelzaK Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
skywalkerrr Opublikowano 11 Lutego 2006 Zgłoś Opublikowano 11 Lutego 2006 Witam Dzieki za wskazowki. Ale zrobile to inaczej, nie bawiac sie w wskazniki. Odczytuje z pliku funkcja fscanf. Dziekuje za pomoc. Pozdrawiam Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 13 Lutego 2006 Zgłoś Opublikowano 13 Lutego 2006 tylko czy scanf wczyta Ci sringi ze spacjami.... Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...