您的位置:首页 > 编程语言 > C语言/C++

C语言读写随机生成数组到文件

2015-04-01 22:19 274 查看
随机生成一个包含2000个整数的数组并存到文件中,然后从文件中将该数组读取出来并输出到屏幕上。格式如下图



代码如下

#include <stdlib.h>
#include <stdio.h>
#include <time.h>

//生成随机数列
int write()
{
int i,j;
FILE *pf = NULL;
int arr[2000];
srand((unsigned)time(NULL));//随机种子
pf = fopen("sort.txt","a");
//生成数列
for(i=0; i<2000; i++)
{
arr[i] = rand()%1000;
}
//格式化输出到文件中
for(i=0; i<200; i++)
{
for(j=0; j<10; j++)
{
fprintf(pf,"%-5d",arr[i*10+j]);
}
fprintf(pf,"\n");
}
fclose(pf);
return 0;
}

//读取生成数列
int read()
{
int i,j;
FILE *pf;
int arr[2000];
if((pf = fopen("sort.txt","r"))==NULL)
{
printf("Error\n");
system("PAUSE");
exit(1);
}
//读取文件内容到数列
for(i=0; i<200; i++)
{
for(j=0; j<10; j++)
{
fscanf(pf,"%d",&arr[i*10+j]);
}
fscanf(pf,"\n");
}
fclose(pf);
//将数列输出到屏幕
for(i=0; i<200; i++)
{
for(j=0; j<10; j++)
{
printf("%-5d",arr[i*10+j]);
}
printf("\n");
}

return 0;
}

int main()
{
write();
read();
return 0;
}


读取到屏幕上时如下图



PS:fopen()有三种打开模式:r,w,a。r为读文件;w为写文件并清除原来文件中的内容;a同样为写文件但是在文件原有内容后边插入。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C语言 文件读写