Witam.
1.Otwieram z pliku txt i laduje do struktury. Zaraz po tym zapisuje do pliku binarnego.
Chcialem pozniej odczytac z pliku binarnego i zapisac z powrotem do pliku txt ale zauwazylem ze odczytuje mi 2x ostatnia linijke. Za nic nie wiem dlaczego.
Czekam na Wasze sugestie.
Pozdrawiam.
#include <stdio.h>
#include <stdlib.h>
int main()
{
struct lista
{
char name[20];
int price;
};
struct lista shopping;
FILE* file=fopen("zakupy.txt","r");
FILE* fileb=fopen("lista.bin", "wt");
FILE * filex=fopen("listax.txt","w");
while(!feof(file))
{
fscanf(file, "%s", shopping.name);
fscanf(file, "%d", &shopping.price);
printf("co odczytalem? patrz!: %s %d\n", shopping.name, shopping.price);
fwrite(&shopping,sizeof(struct lista),1,fileb);
}
fclose(fileb);
fileb=fopen("lista.bin", "rb");
int counter = 0;
while(!feof(fileb))
{
fread(&shopping, sizeof(struct lista),1,fileb);
printf("co odczytalem z pliku binarnego ?: %s %d\n", shopping.name, shopping.price);
counter++;
printf("%d \n", counter);
}
fclose(file);fclose(filex);fclose(fileb);
return 0;
}
co odczytalem? patrz!: pomidory 5
co odczytalem? patrz!: ogorki 3
co odczytalem? patrz!: kalafior 6
co odczytalem? patrz!: grejfruty 7
co odczytalem? patrz!: odzywki 40
co odczytalem? patrz!: mleko 2
co odczytalem z pliku binarnego ?: pomidory 5
1
co odczytalem z pliku binarnego ?: ogorki 3
2
co odczytalem z pliku binarnego ?: kalafior 6
3
co odczytalem z pliku binarnego ?: grejfruty 7
4
co odczytalem z pliku binarnego ?: odzywki 40
5
co odczytalem z pliku binarnego ?: mleko 2
6
co odczytalem z pliku binarnego ?: mleko 2
7
Process returned 0 (0x0) execution time : 0.005 s
Press any key to continue.