• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

listy jednokierunkowe,jezyk C,wczytywanie do listy

Object Storage Arubacloud
0 głosów
1,442 wizyt
pytanie zadane 16 grudnia 2017 w C i C++ przez Krystek102 Bywalec (2,440 p.)
edycja 17 grudnia 2017 przez Krystek102

Witam,mam problem z wczytaniem elementów z pliku do listy,w pojedynczym wierszu pliku sa zapisane imiona i nazwiska ,nie znam ilości wierszy,oto mój kod:

#include <stdio.h>
#include <stdlib.h>
//struktura z danymi osoby 
typedef struct DANE
{
    char imie[50];
    char nazwisko[50];
    struct element*nast;

}Dane;
//struktura z lista jednokierunkowa
typedef struct OSOBA Osoba;
struct OSOBA 
{
    Dane dane;//dane osoby(imie,nazwisko)
    Osoba *nast;//odnosi sie do nastepnego elementu 
};


void wczytaj(const char*nazwa)
{
    FILE *plik=fopen(nazwa,"r");
    Osoba tymczasowy,pomocniczy;
    if(plik==NULL)printf("Blad otwarcia");
    
    
}


int main()
{
    printf("Hello world!\n");
    return 0;
}

 

w funkcji wczytaj za wiele nie ma,mój główny problem polega na tym,że nie wiem jak pobrać z pliku pierwszy wiersz i zapisać go do listy,muszę to napisać w języku C  ,proszę o pomoc,z góry dzięki :) 

1 odpowiedź

0 głosów
odpowiedź 16 grudnia 2017 przez Wiciorny Ekspert (270,110 p.)
Metoda getLine?  Z tego co pamiętam była w C++

tutaj co nie co:http://cpp0x.pl/kursy/Kurs-C++/Poziom-3/Wczytywanie-tekstu-standardowy-strumien-wejscia/351
komentarz 16 grudnia 2017 przez Krystek102 Bywalec (2,440 p.)
tylko to muszę napisać w  C...
komentarz 16 grudnia 2017 przez Wiciorny Ekspert (270,110 p.)

Zmienia to postać rzeczy: zapraszam do artykułu https://stackoverflow.com/questions/9206091/going-through-a-text-file-line-by-line-in-c

 

Here’s a typical getline() statement:

getline(&buffer,&size,stdin);
The getline() function is prototyped in the stdio.h header file. Here are the three arguments:

 

komentarz 17 grudnia 2017 przez Krystek102 Bywalec (2,440 p.)

może np.

 

tak wyglądać wczytywanie pierwszego wiersza?
 

 
void wczytaj(const char*nazwa)
{
    Osoba tab;
    FILE *plik=fopen(nazwa,"r");
    Osoba tymczasowy,pomocniczy;
    if(plik==NULL)printf("Blad otwarcia");
     while(fscanf("%s %s",tab->imie,tab->nazwisko)!=EOF)
     {
         
     }
}

 

Podobne pytania

0 głosów
0 odpowiedzi 287 wizyt
pytanie zadane 27 stycznia 2019 w C i C++ przez gooster88 Nowicjusz (120 p.)
0 głosów
2 odpowiedzi 681 wizyt
0 głosów
0 odpowiedzi 257 wizyt
pytanie zadane 24 stycznia 2021 w C i C++ przez Roberto12 Nowicjusz (120 p.)

92,570 zapytań

141,422 odpowiedzi

319,644 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...