采取的方法如下代码:
#include <stdio.h>
#define NUM 1000000
void swap(int* pa,int* pb)
{
int temp = 0;
temp = *pa;
*pa = *pb;
*pb = temp;
}
int main(void)
{
FILE *fp = NULL;
unsigned i = 0,index = 0;
int *p = NULL;
//创建文件
if (NULL == (fp = fopen("d:\\b.txt","wb+")))
{
printf("ERROR!\n");
getch();
exit(1);
}
//开辟空间
p = (unsigned *)malloc(sizeof(int)*NUM);
//赋值 0 ~ NUM
for (i = 0;i < NUM;i ++)
{
*(p + i) = i;
}
//洗牌
srand((unsigned)time(NULL));
for (i = 0;i < NUM;i ++)
{
index = rand()%NUM;
swap(p+i,p+index);
}
//写入
fseek(fp,0,SEEK_SET);
for (i = 0;i < NUM;i ++)
{
fwrite(p+i,sizeof(unsigned),1,fp);
}
//关闭文件
fclose(fp);
getch();
return 0;
}
方法也很简单,在此不多说了,仅供交流,不足之处,请高手多多指教。