[問題] fread和memory
各位好, 最近在我的程式中發現, 當一直不斷地使用fread時會造成
記憶體不斷地消耗, 因此我寫了下面的程式來做實驗
發現的確有此類的問題, 還煩請各位給點意見 謝謝
int main()
{
int a[100], i;
FILE *fptr;
for (i = 0 ; i < 100 ; i++)
a[i] = i;
fptr = fopen("test.txt", "wb");
fwrite(a, sizeof(int), 100, fptr);
fclose(fptr);
for(i = 0 ; i < 20000 ; i++)
{
fptr = fopen("test.txt", "rb");
fread(a, sizeof(int), 100, fptr);
fclose(fptr);
}
return 0;
}
在我的理解中, 主要占用記憶體的應該是a, 照理來說不應該與fread次數有關
但是我發現當我將第二個for迴圈結束條件增大時, 所佔用的記憶體會變多
不知是何原因造成的?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 176.254.65.186
→
01/28 00:14, , 1F
01/28 00:14, 1F
※ 編輯: huangweichih 來自: 176.254.65.186 (01/28 01:07)
→
01/28 01:08, , 2F
01/28 01:08, 2F
→
01/28 01:34, , 3F
01/28 01:34, 3F
→
01/28 01:42, , 4F
01/28 01:42, 4F
→
01/28 01:43, , 5F
01/28 01:43, 5F
→
01/28 03:18, , 6F
01/28 03:18, 6F
→
01/28 03:21, , 7F
01/28 03:21, 7F
→
01/28 03:22, , 8F
01/28 03:22, 8F
→
01/28 03:22, , 9F
01/28 03:22, 9F
推
01/28 09:09, , 10F
01/28 09:09, 10F
→
01/28 09:11, , 11F
01/28 09:11, 11F
推
01/28 22:14, , 12F
01/28 22:14, 12F
→
01/28 22:15, , 13F
01/28 22:15, 13F
→
01/28 22:16, , 14F
01/28 22:16, 14F