-
Notifications
You must be signed in to change notification settings - Fork 0
/
file.h
63 lines (52 loc) · 1.1 KB
/
file.h
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
/* IFJ20 - Dynamic char array
* Authors:
* Mario Harvan, xharva03
*/
#ifndef file_h
#define file_h
#define DEFAULT_ARR_SIZE 1000
#define ARR_ERROR -2
typedef struct{
unsigned length;
unsigned size;
unsigned position;
char* arr;
} dynamicArr;
/**
* @brief Allocate new dynamic array
* @return Pointer to array, or null when fail
*/
dynamicArr* arrInit();
/**
* @brief Same as fputc
* @param Pointer to dynamic arr
* @param Char
*/
void arrPutc(dynamicArr* arr, char c);
/**
* @Brief Same as fgetc
* @param Pointer do dynamic arr
* @return Char or EOF when end of arr
*/
int arrGetc(dynamicArr* arr);
/**
* @brief Same as ungetc
* @param Pointer to dynamic arr
*/
void arrUnGetc(dynamicArr* arr);
/**
* @brief Function will reset read position to start of arr
* @param Pointer to dynamic arr
*/
void arrSeekStart(dynamicArr* arr);
/**
* @brief Function will free dynamic array
* @param Pointer to dynamic arr
*/
void arrFree(dynamicArr* arr);
/**
* @brief Function will copy stdin to dynamic array
* @param Pointer to dynamic arr
*/
void copyStdinToArr(dynamicArr* arr);
#endif