Strona 1 z 1

[C] Wczytywanie z pliku zewnętrznego

: 12 sty 2015, o 12:00
autor: Igor V
Witam.
Potrzebuję zrobić coś takiego że chcę wczytać po kolei dane z pliku ,przy czym dane mam w formie :

Kod: Zaznacz cały

pozycja_1
nazwa_a_1
nazwa_b_1
nr_1

pozycja_2
nazwa_a_2
nazwa_b_2
nr_2
.
.
.
pozycja_n 
nazwa_a_n
nazwa_b_n
nr_n
Gdzie pozycja i numer to inty a nazwa_a i nazwa_b stringi.I chcę teraz tak to pobrać żebym mógł to wypisać tak samo w konsoli.Zastanawiałem się nad pętlą for+getline ,ale jakoś tego nie widzę.Bo na pewno muszę mieć dwie tablice charów ,to zapiszę do nich nazwa_a i nazwa_b oraz dwie zmienne typu int.Jednak nie wiem jak to dokładnie zaimplementować.

[C] Wczytywanie z pliku zewnętrznego

: 12 sty 2015, o 21:50
autor: csminus
Zamierzasz coś robić z tymi danymi, czy chcesz je tylko wypisać?

[C] Wczytywanie z pliku zewnętrznego

: 13 sty 2015, o 01:12
autor: Igor V
W sumie i chcę je wypisać i wpakować do struktur W sensie że jeden taki blok to jedna struktura.

[C] Wczytywanie z pliku zewnętrznego

: 13 sty 2015, o 10:35
autor: WarNaX
W zasadzie to się przejęzyczyłeś, bo "taki 1 blok to 1 struktura", chodziło Ci raczej o obiekt. Poza tym móisz o getline, a w temacie masz C;)

Robisz sobie statyczną, albo dynamiczną tablicę obiektów. np, tak:

Kod: Zaznacz cały

typedef struct S
{

int poz;
char nazwa1[xxx];
char nazwa2[yyy];
int nr;

}s;

s objekty[zzz];

for(i=0;i<zzz;i++)
{
scanf("%i", &tab[i].poz);
scanf("%s", tab[i].nazwa1);
scanf("%s", tab[i].nazwa2);
scanf("%i", tab[i].nr);
}
oczywiście, jeśli wiesz ile będziesz miał obiektów w pliku

W c++ byłoby znacznie łatwiej dzięki vector-owi, czy string-om

[C] Wczytywanie z pliku zewnętrznego

: 13 sty 2015, o 21:54
autor: Igor V
Tak ,trochę czytałem i nie zauważyłem że nie ma tego w C.

Problem w tym że nie wiem bezpośrednio.Po to mam pozycja_n i chciałbym to jakoś pobrać i w ten sposób alokować struktury.Tylko że fscanf wczytuje chyba w bajtach albo po znakach i nie wiem jak zrobić żeby pobierało to co chcę.