我想知道是否可以使用多线程在同一个文件上写入二进制数据。
FILE *fd = openfile("test");
int SIZE = 1000000000;
int * table = malloc(sizeof(int) * SIZE);
// .. filling the table
fwrite(table, sizeof(*table), SIZE, fd);
我想知道是否可以使用线程,每个线程调用fssek到不同的位置写入同一个文件。有什么想法吗?
fwrite()
的文档以了解它是否支持线程安全。如果不支持,您将需要实现自己的互斥锁来保护它。 - Barmarint * table = sizeof(sizeof(int) * SIZE);
。 - alk