Odczytywanie danych z pliku tekstowego

0

Witam ponownie,
znowu mam problem.
Mam taką funkcję do odczytywania danych z pliku tekstowego i umieszczania ich w tablicy. W pliku dane oddzielone są przecinkami, więc musiałem zastosować funkcję zmieniającą przecinki na kropki.

 
int main(int argc, char **argv)
{
    char nazwa[20];
    char txt[20];
    float **wsk;
    float **tab;
    int linie;
    int i=0, n;


    int liczba;
    printf("Program 1 - Wczytanie danych z pliku .txt \ndo pamieci \n\n");
    printf("Podaj ktory program chcesz uruchomic: \n");
    scanf("%d", &liczba);
    switch( liczba )
    {


        case 1:
        Przecinkinakropki("zapis.txt");
        Odczyt("zapis.txt");
        tab=Odczyt("zapis.txt");
        int l_linii=wsk[0][0];
        Wyswietl(wsk);
        break;
    }
    return 0;
}
float **Odczyt (char* nazwa)
{
	int l_linii=0, i=0;
    float **tab;
	FILE *plik;
	plik = fopen(nazwa, "r");
	char znak;
	while (!feof(plik))
	{
		znak=fgetc(plik);
		if(znak=='\n') l_linii++;
	}
	tab = (float**)calloc(2, sizeof(float*));
	for(i=0; i<2; i++)
	{
		tab[i] = (float*)calloc(l_linii+1, sizeof(float));
	}
	tab[0][0]= (float)l_linii;
	rewind(plik);
	i=1;
	while(!feof(plik))
	{
		fscanf(plik, "%f %f", &tab[0][i], &tab[1][i]);
		i++;
	}
return tab;
}

void Wyswietl (float **tab)
{
int i;
for(i=0; i<tab[0][0]; i++)
{
printf("%f, %f \n", &tab[0][i], &tab[1][i]);
}
}
int Przecinkinakropki (char* plik)
{
    char znak;
FILE *plik1, *plik2;
plik1=fopen("pierwszy.txt", "r");
plik2=fopen(plik, "w");
while(1) {
znak=fgetc(plik1);
if(znak==',') znak='.';
if(feof(plik1)) break;
fputc(znak, plik2);
}
fclose(plik1);
fclose(plik2);
return 0;
}

Czy ktoś mógłby mi powiedzieć co jest tutaj źle? Program się nie wywala, nie ma błędów, ale po prostu nic nie pokazuje, ani się nie kończy. Po prostu cały czas tak jakby działał.
Pozdrawiam

0
  1. Nie zastosowałeś struktury
  2. Niepotrzebnie czytasz plik dwukrotnie
  3. Nie rozumiesz w którym momencie jest ustawiana flaga eof
  4. Nawet nie poczytałeś o formatowaniu kodu.
0
  1. Czy struktura tutaj musi być?
  2. No niestety nie rozumiem. Błąd z eof jest w funkcji Przecinkinakropki?
    Dzięki za pomoc
0

Czy u człowieka musi być na ramionach głowa? Nie, przecież są tacy u których na ramionach ... nie głowa.
Nie rozumiesz, to googlować, nie chce mi się tu streszczać podręcznika z podstaw.

0

trzymasz w pliku liczby zmiennoprzecinkowe odseparowane przez kropkę ? ;\

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