blob: a9531ecaa8598e681d133de1b9be07785008be99 (
plain) (
blame)
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
#ifndef HELPERS_H
#define HELPERS_H
#include <fstream>
#include <vector>
#include <string>
using namespace std;
//file reading things
inline string ReadTextFromFile(const char* fileName, string buffer)
{
std::ifstream file(fileName);
unsigned char temporary;
if (!file.is_open())
{
std::cerr << "Could not open file for text input: " << fileName;
return buffer;
}
while (getline(file, buffer))
buffer += buffer;
file.close();
return buffer;
}
inline vector<unsigned char> ReadFileAsBinary(const char* fileName, vector<unsigned char> buffer)
{
try
{
//open the fstream in input mode, with binary mode
std::fstream file(fileName, std::ios::in | std::ios::binary);
unsigned char temporary;
if (!file.is_open())
{
std::cerr << "Could not open file for binary input: " << fileName;
return buffer;
}
while (file >> temporary)
{
buffer.push_back(temporary);
}
file.close();
return buffer;
}
catch (const std::exception& ex)
{
std::cerr << "Exception during binary file input." << fileName <<
"was not successfully streamed to binary." << ex.what();
return buffer;
}
}
//file writing things
inline bool WriteTextToFile(const char* fileName, const string fileContents)
{
std::ofstream file(fileName);
if(!file.is_open())
{
std::cerr << "Could not open file: " << fileName;
return false;
}
file << fileContents;
file.close();
return true;
}
inline bool WriteFileFromBinary(const char* fileName, vector<unsigned char> buffer)
{
std::ofstream file(fileName);
int count = 0;
if (!file.is_open())
{
std::cerr << "Could not open file: " << fileName;
return false;
}
for (auto const& x : buffer) {
file << x;
count = count + 1;
if (count == 99) {
file << "\n";
count = 0;
}
}
file.close();
return true;
}
#endif
|