1
0
Fork 0
spectre/source/System/File.cpp
2016-01-10 09:26:43 +01:00

40 lines
778 B
C++

#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;
}
};