Witam, mam pewne zadanie do wykonania:
Muszę wczytać dane z pliku .txt - wartości double, każda kolejna w nowej linijce tekstu. Najpierw muszę je odczytać w celu uzyskania liczby wartości, a następnie aby wpisać je do tablicy. Niestety kod nie działa - wychodzą same wartości 0.000000, mimo że nie pojawiają się warningi i errory - kompiluje się bez problemu. Proszę o pomoc, mój kod wygląda tak:
#include <stdio.h>
int main (void)
{
puts ("Witaj w programie!");
printf ("Podaj nazwe pliku, z ktorego chcesz czytac: ");
char nazwa_pliku[30];
scanf ("%s", nazwa_pliku);
FILE *plik = fopen (nazwa_pliku, "r");
if (!plik)
{
printf ("Nie moge czytac z pliku %s!\n", nazwa_pliku);
return 1;
}
double wyniki;
int rozmiar = 0;
while ( fscanf (plik, "%lf", &wyniki) != EOF)
{
rozmiar++;
}
printf ("W tablicy znajduje sie %d pomiarow.\n", rozmiar); // - tylko dla sprawdzenia
/* //próbowałam najpierw z while, ale wynik jest taki sam zarówno dla while jak i dla for, który jest poniżej
double pomiary[rozmiar];
int i = 0;
while(fscanf(plik, "%lf", &pomiary[i]) != EOF)
{
printf("Number is: %lf\n", pomiary[i]);
i++;
}
*/
double pomiary[rozmiar];
for (int i=0; i<rozmiar; i++)
{
fscanf (plik, "%lf", &pomiary[i]);
//printf("Number is: %lf\n", pomiary[i]);
}
for(int i = 0; i < rozmiar; i++)
{
printf("%lf\n" , pomiary[i]);
}
fclose(plik);
return 0;
}