Witam,
W ramach ćwiczenia, wymyśliłem sobie zadanie, które będzie poległo na wczytaniu danych z pliku do dynamicznej tablicy, przemnożenie przez 2 i zapisanie w nowym pliku.
Po napisaniu programu, różnych testach i kombinacjach, program zapisuje w pliku jakieś śmieci... Czy ktoś mógłby mi podszepnąć w czym jest problem?
// tablice_pliki.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <conio.h>
#include <stdlib.h>
#include <malloc.h>
#include <string.h>
int _tmain(int argc, _TCHAR* argv[])
{
FILE *read = fopen("dane.txt", "r");
double *Vector;
int count = 0;
double helpVar;
if(read)
{
printf("Dane zostaly wczytane pomyslnie!\n\n");
while(!feof(read))
{
fscanf(read, "%lf", &helpVar);
++count;
}
Vector = (double*) malloc (count*sizeof(double));
for(int i=0; i<count; ++i)
{
fscanf(read, "%lf", &Vector[i]);
Vector[i]*=2;
}
fclose(read);
FILE *save = fopen("rozwiazanie.txt", "w");
if(save)
{
for(int i=0; i<count; ++i)
{
fprintf(save, "[%d] = %.2lf \n", i+1, Vector[i]);
}
printf("Dane zostaly zapisane w pliku!\n");
fclose(save);
}
else
printf("Nie udalo sie zapisac danych!");
}
else
printf("Nie udalo sie wczytac danych z pliku!");
_getch();
return 0;
}
PS. Wiem, że ta pomocnicza zmienna, jest bez sensu, jednak gdy zrobiłem sam licznik, to pętla kręciła się w nieskończoność, więc zorientowałem się, że musi ona coś wczytywać, żeby wiedzieć kiedy ma się zatrzymać, jednak, gdzie ma zapisać dane skoro nie wiem ile pamięci zaalokować?
Dziękuję za odpowiedzi,
Pozdrawiam