Zmienne "zachodzą na siebie" (?)

0

Spotkałem się z dziwną sytuacją i nie za bardzo wiem jak sobie z tym poradzić.
Mam taki fragment kodu:

struct rekord temp1, temp2, bufor_we1[BUF-1], bufor_we2[BUF-1];

tasma1=fopen("tasma1.txt", "r");
tasma2=fopen("tasma2.txt", "r");

ile1 = fread(&bufor_we1,sizeof(pieciokat),BUF,tasma1);
ile2 = fread(&bufor_we2,sizeof(pieciokat),BUF,tasma2);

Wcześniej mam zdefiniowaną strukturę "rekord", składającą sie z pięciu liczb całkowitych bez znaku. "Pięciokat" jest typu rekord.

Po wczytaniu rekordow do zmiennych bufor_we1 i bufor_we2 z oddzielnych plików dzieje się dziwna rzecz: ostatni element bufora_we2 przybiera wartość pierwszego elementu bufora_we[1]. :| Wygląda to tak jakby te dwie zmienne niejako zachadziły na siebie w pamięci. Sytuacja nieco się poprawia, jeśli jeden z tych buforów zadeklaruje na zewnątrz, a drugi wewnątrz funkcji. Ale nawet wtedy, dla dużych wartości BUF, zaczyna się dziać podobnie.
Jeśli ktoś ma jakiś pomysł jak się tego pozbyć, bardzo proszę o pomoc.
Pozdr.

0

jako rozmiar tablic daj BUF bo tyle odczytujesz z pliku i jako adres uzyj nazwy tablicy

0

Tak. W tym leżał właśnie problem. Dzięki!!

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