Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

C - Przechodzenie do wybranego miejsca w pliku, i pobieranie z niego wartości

krzy5iek1991 07 Maj 2013 16:24 1068 6
  • #1 07 Maj 2013 16:24
    krzy5iek1991
    Poziom 10  

    Witam. Załóżmy, że mam następujące dane w *.txt:

    Cytat:
    ID Adres Powierzchnia Cena
    1 gdansk 100000 128789
    2 szczecin 120 10000012

    I chcę na przykład pobrać do jakiejś tablicy cenę. Jaka funkcja służy do "przechodzenia" pomiędzy wierszami i kolumnami?

    Np. przechodzę na początek 3 kolumny, pobieram wszystkie, konwertuję ciąg znaków na inta. Następnie początek kolumny niżej. I dopóki nie natrafię na EOF.

    Jest jakaś gotowa funkcja do tego, czy trzeba ręcznie pisać?

    0 6
  • #3 07 Maj 2013 16:52
    krzy5iek1991
    Poziom 10  

    Tablulatory i znaki nowej linii to \t \n

    Czy źle myślę?


    Cytat:
    if(array[i]=="\t")

    0
  • #5 07 Maj 2013 17:03
    krzy5iek1991
    Poziom 10  

    lekto napisał:
    Przy fgets znak nowej linii to '\0'.


    a co z tabulatorem? tak jak mówiłem, kolumny są od siebie tabulatorem, więc trzeba jakoś sprawdzić?

    0
  • #6 07 Maj 2013 18:54
    krru
    Poziom 32  

    wszelkie warianty funkcji scanf z formatem %s czytają "wyrazami" - czyli pomiędzy białymi znakami.

    0
  • #7 07 Maj 2013 20:23
    micrak
    Poziom 11  

    pomysl nad funkcja sscanf

    jezeli masz np dane zapisane w stringu:
    char dane[100] = "Maciek 120 4 5 3"

    i chcesz zeby znalazly sie w zmiennych:
    char imie[10];
    int x, y, z, a;

    to wywolujesz:
    sscanf(dane, "%s %d %d %d", imie, &x, &y, &z, &a)

    pierwszy parametr to wejscie
    drugi parametr to format
    nastepne parametry to wskazniki do miejsc w pamieci, do ktorych ma zapisac odczytane dane

    0