[C] Wczytywanie z pliku zewnętrznego

Awatar użytkownika
Igor V
Użytkownik
Użytkownik
Posty: 1605
Rejestracja: 16 lut 2011, o 16:48
Płeć: Mężczyzna
Lokalizacja: Polska
Podziękował: 18 razy
Pomógł: 604 razy

[C] Wczytywanie z pliku zewnętrznego

Post 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ć.
Ostatnio zmieniony 12 sty 2015, o 19:32 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
Awatar użytkownika
csminus
Użytkownik
Użytkownik
Posty: 45
Rejestracja: 29 lis 2014, o 13:06
Płeć: Mężczyzna
Lokalizacja: Lublin/Kraków/Warszawa
Pomógł: 3 razy

[C] Wczytywanie z pliku zewnętrznego

Post autor: csminus »

Zamierzasz coś robić z tymi danymi, czy chcesz je tylko wypisać?
Awatar użytkownika
Igor V
Użytkownik
Użytkownik
Posty: 1605
Rejestracja: 16 lut 2011, o 16:48
Płeć: Mężczyzna
Lokalizacja: Polska
Podziękował: 18 razy
Pomógł: 604 razy

[C] Wczytywanie z pliku zewnętrznego

Post autor: Igor V »

W sumie i chcę je wypisać i wpakować do struktur W sensie że jeden taki blok to jedna struktura.
WarNaX
Użytkownik
Użytkownik
Posty: 7
Rejestracja: 27 lut 2014, o 22:51
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Pomógł: 2 razy

[C] Wczytywanie z pliku zewnętrznego

Post 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
Ostatnio zmieniony 13 sty 2015, o 12:25 przez Afish, łącznie zmieniany 1 raz.
Powód: Stosuj tagi code.
Awatar użytkownika
Igor V
Użytkownik
Użytkownik
Posty: 1605
Rejestracja: 16 lut 2011, o 16:48
Płeć: Mężczyzna
Lokalizacja: Polska
Podziękował: 18 razy
Pomógł: 604 razy

[C] Wczytywanie z pliku zewnętrznego

Post 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ę.
ODPOWIEDZ