Initial commit
This commit is contained in:
commit
edfc5298e1
252 changed files with 93965 additions and 0 deletions
40
source/System/File.cpp
Normal file
40
source/System/File.cpp
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <Spectre/System/File.h>
|
||||
|
||||
namespace File
|
||||
{
|
||||
std::string getBasename(const std::string& path) {
|
||||
|
||||
size_t p = path.find_last_of('/');
|
||||
|
||||
if (p == std::string::npos)
|
||||
return path;
|
||||
return path.substr(p + 1);
|
||||
}
|
||||
|
||||
std::string getExtension(const std::string& path) {
|
||||
|
||||
std::string base_name = getBasename(path);
|
||||
size_t p = base_name.find_first_of('.');
|
||||
if (p == std::string::npos)
|
||||
return "";
|
||||
return base_name.substr(p + 1);
|
||||
}
|
||||
|
||||
std::vector<unsigned char> read(const std::string& path) {
|
||||
|
||||
std::vector<unsigned char> buf;
|
||||
FILE *fd = fopen(path.c_str(), "rb");
|
||||
|
||||
if (fd) {
|
||||
fseek(fd, 0, SEEK_END);
|
||||
buf.resize(ftell(fd));
|
||||
rewind(fd);
|
||||
fread(&buf[0], 1, buf.size(), fd);
|
||||
fclose(fd);
|
||||
}
|
||||
return buf;
|
||||
}
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue