Wczytywanie z pliku .csv

0

Czesc!
Mam napisac program, ktory wczytuje wartosci z pliku .csv, a nastepnie je obrabia. Problem mam juz na samym poczatku, gdys plik tekstowy wyglada tak:

#Sygnal+Zaklocenie
1 , 0.000000
2 , 1.253233
3 , 2.486114

itd.

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>

main()
{
    FILE *plik_wczyt;
    int i=0, tab1IND=0, tab2IND=0,  probki=-1; // probki=-1, poniewaz pierwsza linie zajmuje komentarz
    char znak, bufor[100];
    float suma, srednia, wart_max=0, tab2[250], tab1[250];

    printf("Plik nalezy zapisac w pod nazwa 'sygn_zaszum.csv', aby program poprawnie go odczytal.\n");
    plik_wczyt = fopen("sygn_zaszum.csv", "r"); //otwieranie pliku
    if (plik_wczyt==NULL)
    {
        perror("Nie mozna otworzyc pliku");
        printf("\n");
        return 1;
    }
    else
    {
        printf("Otwieranie pliku zakonczone sukcesem.\n");
    }

    while((znak = getc(plik_wczyt)) != EOF) 
    {
        if(znak == '\n')
        probki++;
    }

    fclose(plik_wczyt);

    plik_wczyt = fopen("sygn_zaszum.csv", "r");

    if((znak = getc(plik_wczyt)) == '\n') {}
    while((znak = getc(plik_wczyt)) != EOF) 
    {
        if(znak ==',' || znak == '\n')
        {
            bufor[i]='\0';
            i=0;
            if(znak==',')
            {
                tab1[tab1IND]=atof(bufor);
                tab1IND++;
            }
            else
            {
                tab2[tab2IND]=atof(bufor);
                tab2IND++;  
            }           
        }
        else 
        {
            bufor[i]=znak;
            i++;
        }
    }
    for (i=0; i<=probki; i++)
    { 
        printf("%0.001f: %f\n", tab1[i], tab2[i]);
    }

    fclose(plik_wczyt);

    wart_max=tab2[0]; 
    for(i=0; i<=probki; i++)
    {
        suma=+tab2[i];
        if(tab2[i]>wart_max)
        {
            wart_max=tab2[i];
        }   
    }
    srednia=suma/probki;
    printf("Plik zawiera %d probek\n", probki); 
    printf("Czas trwania sygnalu: %f\n", tab1[probki]);
    printf("Wartosc maksymalna wynosi: %f\n",wart_max);
    printf("Wartosc srednia probek: %f\n",srednia);

}

Korzystajac z tego kodu, gorny komentarz pliku .csv zalicza mi jako liczbe i wpisuje do tablicy jako 0.
Co zrobic, zeby algorytm pomijal pierwszy wiersz i zaczynal od drugiego?

0
while(getc(plik_wczyt) != '\n'); 
0

Dzieki, juz dziala :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0