mirror of https://github.com/kiwix/libkiwix.git
+ copyFile() & getLastPathElement()
This commit is contained in:
parent
f2280a6b02
commit
5922808e12
|
@ -33,7 +33,7 @@ string computeAbsolutePath(const string path, const string relativePath) {
|
|||
#else
|
||||
string separator = "/";
|
||||
#endif
|
||||
string absolutePath = path;
|
||||
string absolutePath = path + "/";
|
||||
char *cRelativePath = strdup(relativePath.c_str());
|
||||
char *token = strtok(cRelativePath, "/");
|
||||
|
||||
|
@ -71,6 +71,16 @@ string removeLastPathElement(const string path, const bool removePreSeparator, c
|
|||
return newPath;
|
||||
}
|
||||
|
||||
string getLastPathElement(const string &path) {
|
||||
#ifdef _WIN32
|
||||
string separator = "\\";
|
||||
#else
|
||||
string separator = "/";
|
||||
#endif
|
||||
|
||||
return path.substr(path.find_last_of(separator));
|
||||
}
|
||||
|
||||
unsigned int getFileSize(const string &path) {
|
||||
struct stat filestatus;
|
||||
stat(path.c_str(), &filestatus);
|
||||
|
@ -98,3 +108,16 @@ bool makeDirectory(const string &path) {
|
|||
int status = mkdir(path.c_str(), S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH);
|
||||
return status == 0;
|
||||
}
|
||||
|
||||
bool copyFile(const string &sourcePath, const string &destPath) {
|
||||
try {
|
||||
std::ifstream infile(sourcePath.c_str(), std::ios_base::binary);
|
||||
std::ofstream outfile(destPath.c_str(), std::ios_base::binary);
|
||||
outfile << infile.rdbuf();
|
||||
} catch (exception &e) {
|
||||
cerr << e.what() << endl;
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
#include <sys/types.h>
|
||||
#include <fcntl.h>
|
||||
#include <sys/stat.h>
|
||||
#include <ios>
|
||||
|
||||
using namespace std;
|
||||
|
||||
|
@ -39,5 +40,7 @@ unsigned int getFileSize(const string &path);
|
|||
string getFileSizeAsString(const string &path);
|
||||
bool fileExists(const string &path);
|
||||
bool makeDirectory(const string &path);
|
||||
bool copyFile(const string &sourcePath, const string &destPath);
|
||||
string getLastPathElement(const string &path);
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue