-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSeptember22.cpp
More file actions
82 lines (65 loc) · 1.49 KB
/
September22.cpp
File metadata and controls
82 lines (65 loc) · 1.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define STRUCTS 3
#define FILE1 "filedata.dat"
#define FILE2 "resultdata.dat"
typedef struct Student
{
char name[20];
int grade;
};
void FileExperiment()
{
FILE* pFile;
Student sArr[STRUCTS] = {{"Gonen", 69}, {"Yona", 42}, {"Reuven", 100}};
Student sSingle;
if ((pFile = fopen(FILE1, "w+b")) != NULL)
{
fwrite(&sArr, sizeof(Student), STRUCTS, pFile);
fclose(pFile);
}
if ((pFile = fopen(FILE1, "rb")) != NULL)
{
for (int i = 0; i < STRUCTS; i++)
{
fread(&sSingle, sizeof(Student), 1, pFile);
printf("Name: %s Grade: %d\n", sSingle.name, sSingle.grade);
}
fclose(pFile);
remove(FILE1);
}
}
FILE* RandomlyGenerateFile(char* sFileName)
{
FILE* pFile;
srand((unsigned)time(NULL));
int arrnNumbers[100];
for (int i = 0; i < 100; i++)
{
arrnNumbers[i] = (int) (rand() % 100) + 1;
printf("%d: %d\n", i, arrnNumbers[i]);
}
if (pFile = fopen(sFileName, "wb"))
{
fwrite(&arrnNumbers, sizeof(int), 100, pFile);
fclose(pFile);
}
return fopen(sFileName, "r+b");
}
void SortFile()
{
FILE* pData = RandomlyGenerateFile(FILE1);
FILE* pResult;
int temp;
while(fread(&temp, sizeof(int), 1, pData))
printf("%d \n", temp);
fclose(pData);
remove(FILE1);
}
int main()
{
SortFile();
return 0;
}