Skip to content

Commit 73f657d

Browse files
committed
Added ReadBytesFromFile method.
Updated documentation.
1 parent 2248889 commit 73f657d

File tree

11 files changed

+64
-29
lines changed

11 files changed

+64
-29
lines changed

Documentation/API/Parsers/ParseBpmFromChartSection.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ using namespace RhythmGameUtilities;
2727

2828
int main()
2929
{
30-
auto content = ReadFromFile("./tests/Mocks/song.chart");
30+
auto content = ReadStringFromFile("./tests/Mocks/song.chart");
3131

3232
auto sections = ParseSectionsFromChart(content.c_str());
3333

Documentation/API/Parsers/ParseLyricsFromChartSection.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ using namespace RhythmGameUtilities;
2727

2828
int main()
2929
{
30-
auto content = ReadFromFile("./tests/Mocks/song.chart");
30+
auto content = ReadStringFromFile("./tests/Mocks/song.chart");
3131

3232
auto sections = ParseSectionsFromChart(content.c_str());
3333

Documentation/API/Parsers/ParseMetaDataFromChartSection.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ using namespace RhythmGameUtilities;
2929

3030
int main()
3131
{
32-
auto content = ReadFromFile("./tests/Mocks/song.chart");
32+
auto content = ReadStringFromFile("./tests/Mocks/song.chart");
3333

3434
auto sections = ParseSectionsFromChart(content.c_str());
3535

Documentation/API/Parsers/ParseNotesFromChartSection.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ using namespace RhythmGameUtilities;
2727

2828
int main()
2929
{
30-
auto content = ReadFromFile("./tests/Mocks/song.chart");
30+
auto content = ReadStringFromFile("./tests/Mocks/song.chart");
3131

3232
auto sections = ParseSectionsFromChart(content.c_str());
3333

Documentation/API/Parsers/ParseSectionsFromChart.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ using namespace RhythmGameUtilities;
2525

2626
int main()
2727
{
28-
auto content = ReadFromFile("./tests/Mocks/song.chart");
28+
auto content = ReadStringFromFile("./tests/Mocks/song.chart");
2929

3030
auto sections = ParseSectionsFromChart(content.c_str());
3131

Documentation/API/Parsers/ParseTimeSignaturesFromChartSection.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ using namespace RhythmGameUtilities;
2727

2828
int main()
2929
{
30-
auto content = ReadFromFile("./tests/Mocks/song.chart");
30+
auto content = ReadStringFromFile("./tests/Mocks/song.chart");
3131

3232
auto sections = ParseSectionsFromChart(content.c_str());
3333

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@ using namespace RhythmGameUtilities;
303303

304304
int main()
305305
{
306-
auto content = ReadFromFile("./tests/Mocks/song.chart");
306+
auto content = ReadStringFromFile("./tests/Mocks/song.chart");
307307

308308
auto sections = ParseSectionsFromChart(content.c_str());
309309

@@ -361,7 +361,7 @@ using namespace RhythmGameUtilities;
361361

362362
int main()
363363
{
364-
auto content = ReadFromFile("./tests/Mocks/song.chart");
364+
auto content = ReadStringFromFile("./tests/Mocks/song.chart");
365365

366366
auto sections = ParseSectionsFromChart(content.c_str());
367367

@@ -421,7 +421,7 @@ using namespace RhythmGameUtilities;
421421

422422
int main()
423423
{
424-
auto content = ReadFromFile("./tests/Mocks/song.chart");
424+
auto content = ReadStringFromFile("./tests/Mocks/song.chart");
425425

426426
auto sections = ParseSectionsFromChart(content.c_str());
427427

@@ -481,7 +481,7 @@ using namespace RhythmGameUtilities;
481481

482482
int main()
483483
{
484-
auto content = ReadFromFile("./tests/Mocks/song.chart");
484+
auto content = ReadStringFromFile("./tests/Mocks/song.chart");
485485

486486
auto sections = ParseSectionsFromChart(content.c_str());
487487

@@ -545,7 +545,7 @@ using namespace RhythmGameUtilities;
545545

546546
int main()
547547
{
548-
auto content = ReadFromFile("./tests/Mocks/song.chart");
548+
auto content = ReadStringFromFile("./tests/Mocks/song.chart");
549549

550550
auto sections = ParseSectionsFromChart(content.c_str());
551551

@@ -598,7 +598,7 @@ using namespace RhythmGameUtilities;
598598

599599
int main()
600600
{
601-
auto content = ReadFromFile("./tests/Mocks/song.chart");
601+
auto content = ReadStringFromFile("./tests/Mocks/song.chart");
602602

603603
auto sections = ParseSectionsFromChart(content.c_str());
604604

RhythmGameUtilities/README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@ using namespace RhythmGameUtilities;
303303

304304
int main()
305305
{
306-
auto content = ReadFromFile("./tests/Mocks/song.chart");
306+
auto content = ReadStringFromFile("./tests/Mocks/song.chart");
307307

308308
auto sections = ParseSectionsFromChart(content.c_str());
309309

@@ -361,7 +361,7 @@ using namespace RhythmGameUtilities;
361361

362362
int main()
363363
{
364-
auto content = ReadFromFile("./tests/Mocks/song.chart");
364+
auto content = ReadStringFromFile("./tests/Mocks/song.chart");
365365

366366
auto sections = ParseSectionsFromChart(content.c_str());
367367

@@ -421,7 +421,7 @@ using namespace RhythmGameUtilities;
421421

422422
int main()
423423
{
424-
auto content = ReadFromFile("./tests/Mocks/song.chart");
424+
auto content = ReadStringFromFile("./tests/Mocks/song.chart");
425425

426426
auto sections = ParseSectionsFromChart(content.c_str());
427427

@@ -481,7 +481,7 @@ using namespace RhythmGameUtilities;
481481

482482
int main()
483483
{
484-
auto content = ReadFromFile("./tests/Mocks/song.chart");
484+
auto content = ReadStringFromFile("./tests/Mocks/song.chart");
485485

486486
auto sections = ParseSectionsFromChart(content.c_str());
487487

@@ -545,7 +545,7 @@ using namespace RhythmGameUtilities;
545545

546546
int main()
547547
{
548-
auto content = ReadFromFile("./tests/Mocks/song.chart");
548+
auto content = ReadStringFromFile("./tests/Mocks/song.chart");
549549

550550
auto sections = ParseSectionsFromChart(content.c_str());
551551

@@ -598,7 +598,7 @@ using namespace RhythmGameUtilities;
598598

599599
int main()
600600
{
601-
auto content = ReadFromFile("./tests/Mocks/song.chart");
601+
auto content = ReadStringFromFile("./tests/Mocks/song.chart");
602602

603603
auto sections = ParseSectionsFromChart(content.c_str());
604604

UnityPackage/README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@ using namespace RhythmGameUtilities;
303303

304304
int main()
305305
{
306-
auto content = ReadFromFile("./tests/Mocks/song.chart");
306+
auto content = ReadStringFromFile("./tests/Mocks/song.chart");
307307

308308
auto sections = ParseSectionsFromChart(content.c_str());
309309

@@ -361,7 +361,7 @@ using namespace RhythmGameUtilities;
361361

362362
int main()
363363
{
364-
auto content = ReadFromFile("./tests/Mocks/song.chart");
364+
auto content = ReadStringFromFile("./tests/Mocks/song.chart");
365365

366366
auto sections = ParseSectionsFromChart(content.c_str());
367367

@@ -421,7 +421,7 @@ using namespace RhythmGameUtilities;
421421

422422
int main()
423423
{
424-
auto content = ReadFromFile("./tests/Mocks/song.chart");
424+
auto content = ReadStringFromFile("./tests/Mocks/song.chart");
425425

426426
auto sections = ParseSectionsFromChart(content.c_str());
427427

@@ -481,7 +481,7 @@ using namespace RhythmGameUtilities;
481481

482482
int main()
483483
{
484-
auto content = ReadFromFile("./tests/Mocks/song.chart");
484+
auto content = ReadStringFromFile("./tests/Mocks/song.chart");
485485

486486
auto sections = ParseSectionsFromChart(content.c_str());
487487

@@ -545,7 +545,7 @@ using namespace RhythmGameUtilities;
545545

546546
int main()
547547
{
548-
auto content = ReadFromFile("./tests/Mocks/song.chart");
548+
auto content = ReadStringFromFile("./tests/Mocks/song.chart");
549549

550550
auto sections = ParseSectionsFromChart(content.c_str());
551551

@@ -598,7 +598,7 @@ using namespace RhythmGameUtilities;
598598

599599
int main()
600600
{
601-
auto content = ReadFromFile("./tests/Mocks/song.chart");
601+
auto content = ReadStringFromFile("./tests/Mocks/song.chart");
602602

603603
auto sections = ParseSectionsFromChart(content.c_str());
604604

include/RhythmGameUtilities/File.hpp

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,40 @@ namespace RhythmGameUtilities
88
{
99

1010
/**
11-
* Reads the entire contents of a file.
11+
* Reads the entire contents of a file as a byte array.
1212
*
1313
* @param path The path of the file to read.
1414
* @public
1515
*/
1616

17-
std::string ReadFromFile(const char *path)
17+
std::vector<uint8_t> ReadBytesFromFile(const char *path)
18+
{
19+
std::ifstream file(path, std::ios::binary | std::ios::ate);
20+
21+
if (!file.is_open())
22+
{
23+
std::cerr << "Failed to open " << path << "." << std::endl;
24+
}
25+
26+
auto fileSize = file.tellg();
27+
28+
std::vector<uint8_t> buffer(static_cast<size_t>(fileSize));
29+
30+
file.seekg(0, std::ios::beg);
31+
32+
file.read(reinterpret_cast<char *>(buffer.data()), fileSize);
33+
34+
return buffer;
35+
}
36+
37+
/**
38+
* Reads the entire contents of a file as a string.
39+
*
40+
* @param path The path of the file to read.
41+
* @public
42+
*/
43+
44+
std::string ReadStringFromFile(const char *path)
1845
{
1946
std::ifstream file(path);
2047

0 commit comments

Comments
 (0)