<div dir="ltr">I am sorry for mistyping.<div>correct example for case 2 is below;</div><div><br></div><div>Case 2: Abnormal</div><div><div><span style="white-space:pre-wrap">    </span>FILE * fp_in;</div><div>        void *buffer;</div><div><span style="white-space:pre-wrap">    </span>fp_in = fopen("/mnt/file/testfile.bin", "rb");</div><div><span style="white-space:pre-wrap">       </span>buffer = malloc(0x800000); // 8MB<br></div><div><span style="white-space:pre-wrap">      </span>printf("8MB size:%d\n", fread(buffer, 1, 0x800000, fp_in)); // 8MB reading<br></div><div><span style="white-space:pre-wrap">   </span>free(buffer);<br></div><div><span style="white-space:pre-wrap">  </span>fclose(fp_in);</div></div><div> <br><div>Best Regards,</div><div>Thomas Kim</div><div><br><div class="gmail_quote">---------- Forwarded message ----------<br>From: <b class="gmail_sendername">Thomas Kim</b> <span dir="ltr"><<a href="mailto:thomas73.kim@gmail.com">thomas73.kim@gmail.com</a>></span><br>Date: 2015-01-12 18:59 GMT+09:00<br>Subject: Is there file reading max size limitation using ms-dos file system ?<br>To: "<a href="mailto:users@rtems.org">users@rtems.org</a>" <<a href="mailto:users@rtems.org">users@rtems.org</a>><br><br><br><div dir="ltr">Dear Sir,<div><br></div><div>I am testing standard File I/O on ms-dos file system.</div><div>also, 19MB file(testfile.bin) is included on 32MB ms-dos file storage.<br></div><div><br></div><div>There is two example for testing fread().</div><div><br></div><div>Case 1: Normal<br></div><div><div><div><div><div><span style="white-space:pre-wrap"> </span>FILE * fp_in;</div><div>        void *buffer;</div><div><span style="white-space:pre-wrap">    </span>fp_in = fopen("/mnt/file/testfile.bin", "rb");</div><div><span style="white-space:pre-wrap">       </span>buffer = malloc(0x800000); // 8MB<br></div><div><span style="white-space:pre-wrap">      </span>printf("4MB size:%d\n", fread(buffer, 1, 0x400000, fp_in)); // 4MB reading<br></div><div><span style="white-space:pre-wrap">   </span>free(buffer);<br></div><div><span style="white-space:pre-wrap">  </span>fclose(fp_in);</div></div></div></div></div><div><br></div><div>Case 2: Abnormal</div><div><div><div><span style="white-space:pre-wrap">     </span>FILE * fp_in;</div><div>        void *buffer;</div><div><span style="white-space:pre-wrap">    </span>fp_in = fopen("/mnt/file/testfile.bin", "rb");</div><div><span style="white-space:pre-wrap">       </span>buffer = malloc(0x800000); // 8MB<br></div><div><span style="white-space:pre-wrap">      </span>printf("8MB size:%d\n", fread(buffer, 1, 0x200000, fp_in)); // 8MB reading<br></div><div><span style="white-space:pre-wrap">   </span>free(buffer);<br></div><div><span style="white-space:pre-wrap">  </span>fclose(fp_in);</div></div></div><div><br></div><div>Output of case 1 : 4MB size:4194304  ==> OK</div><div>Output of case 2 : 8MB size:6590976  ==> FAIL (Wanted value = 8388608)</div><div><br></div><div>I guess that fread() function have a limitation for reading file reading size.</div><div><br></div><div>Please let me know how to increase max file size using fread() function.</div><div><br></div><div>Best Regards,</div><div>Thomas Kim </div><div> <br></div></div>
</div><br></div></div></div>