我在将 fwrite(tmp_array, sizeof(int), num, f);
行更改为 fprintf
时遇到问题。
有人可以帮我看看吗?
void generate_random_sorted_file(const char *file_name, int num)
{
FILE *f = fopen(file_name, "wb");
if (f==NULL)
{
printf("could not open %s\n", file_name);
return;
}
int *tmp_array = calloc(num, sizeof(int));
int i;
for (i=0; i<num; i++)
tmp_array[i]=rand();
qsort (tmp_array, num, sizeof(int), compare); /* sorts the array */
fwrite(tmp_array, sizeof(int), num, f);
fclose(f);
}
最佳答案
fprintf 会将您的整数数组写成文本,如果这是您想要的,请执行类似的操作
int i;
for(i = 0; i < num; i++)
fprintf(f,"%d ",tmp_array[i]);
关于c - fwrite => fprintf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6426413/