#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
void save_unsorted_data();
void save_sorted_data();
void Random_arrays();
void FileCreate();
void Sort();
FILE* fp1;//文件操作(Data_1.txt)
FILE* fp2;//文件操作(Sorted_data.txt)
int num,i,size;
int* arry;
int main()
{
FileCreate();
Random_arrays();
save_unsorted_data();
Sort();
}
void Random_arrays()
{
printf("输入数组长度:");
scanf_s("%d", &size);
arry = (int*)malloc(size * sizeof(int));
for (i = 0; i < size; i++)
{
arry[i] = i;
//*(arry+i)=i;//指针型数据指引
}
srand((unsigned)time(NULL));
for (i = 0; i < size; i++)
{
num = rand() % 200 + 1;
arry[i] = num;
}
for (i = 0; i < size; i++)
{
printf("%d\n", arry[i]);
}
}
void save_unsorted_data()
{
fp1 = fopen("D:\\data1.txt", "w");
fwrite(arry, 4, size, fp1);
fclose(fp1);
}
void save_sorted_data()
{
fp2 = fopen("D:\\sorteddata.txt", "w");
fwrite(arry, 4, size, fp2);
fclose(fp2);
}
void FileCreate()
{
fp1 = fopen("D:\\data1.txt", "w");
fp2 = fopen("D:\\sorteddata.txt", "w");
/* 文件的读写模式
"r" 以“只读”方式打开文件。只允许读取,不允许写入。文件必须存在,否则打开失败。
"w" 以“写入”方式打开文件。如果文件不存在,那么创建一个新文件;如果文件存在,那么清空文件内容(相当于删除原文件,再创建一个新文件)。
"a" 以“追加”方式打开文件。如果文件不存在,那么创建一个新文件;如果文件存在,那么将写入的数据追加到文件的末尾(文件原有的内容保留)。
"r+" 以“读写”方式打开文件。既可以读取也可以写入,也就是随意更新文件。文件必须存在,否则打开失败。
"w+" 以“写入/更新”方式打开文件,相当于w和r+叠加的效果。既可以读取也可以写入,也就是随意更新文件。如果文件不存在,那么创建一个新文件;如果文件存在,那么清空文件内容(相当于删除原文件,再创建一个新文件)。
"a+" 以“追加/更新”方式打开文件,相当于a和r+叠加的效果。既可以读取也可以写入,也就是随意更新文件。如果文件不存在,那么创建一个新文件;如果文件存在,那么将写入的数据追加到文件的末尾(文件原有的内容保留)。
*/
fclose(fp1);
fclose(fp2);
}
void Sort()
{
FILE* fp3= fopen("D:\\data1.txt", "r");
fclose(fp3);
int data[1024]={};
for (int i = 0; i < size; i++)
{
fscanf_s(fp3,"%d", &data[i]);
}
for (int i = 0; i < size; i++)
{
printf("%d",data[i]);
}
}