thread中使用fwrite等C Lib函数的问题。
如果在多个子thread中fopen同一文件,fseek不同位置, fwrite(也加过fflush), fclose, 文件大多数都是空白,只有很小部分有内容(进行操作时均使用了临界区)
但如果在主thread中多次fopen, 把每个fp传递给多个子thread,然后再fseek到不同位置,再fwrite,最后在主thread中fclose,得到的结果正常。(进行操作时均使用了临界区)
why? 有没有高手能解释明白?感激不尽!!!!
注:子thread是用CreateThread开始的,没用_beginthreadex等。
主thread是进程中的主thread.