由于未知原因,似乎 fopen 在关闭前被重复调用时无法打开文本文件。
我的 C 程序使用多线程,每个线程处理一种类型的输出文本文件(每种类型 11 个),每种类型都在一个单独的文件夹中。我需要维护在长时间执行期间打开的这些文件并在同一个线程中写入大量数据。
为了更好地解释它,过程如下:
1- 线程#1 启动并在一个文件夹中创建和写入 11 个文件。
2- 在不关闭以前的文件的情况下,线程#2 启动并在不同的文件夹中创建和写入另外 11 个文件。
3-与其他两个线程相同。
4-最后,当所有需要的文件都已创建并且所有线程都已完成时,除非主线程,所有文件都将关闭。
然而,令人惊讶的是,open 确实能够同时处理所有这些文件。有人对fopen的这个问题有提示吗?我不知道它是否与多线程或 fopen 可以同时处理的最大文件数有关。
我在带有 Borland 编译器的 Windows 平台上。