-
Notifications
You must be signed in to change notification settings - Fork 0
/
utils.cpp
68 lines (59 loc) · 1.27 KB
/
utils.cpp
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
//
// Created by mtriston on 02.05.2021.
//
#include <sys/stat.h>
#include <sstream>
#include "utils.hpp"
std::string cutToken(std::string &str, std::string const &delim)
{
std::string token = str.substr(0, str.find(delim));
if (!token.empty()) {
str.erase(0, token.size() + delim.length());
}
return token;
}
std::string ft_trim(std::string str)
{
std::stringstream trimmer;
trimmer << str;
str.clear();
trimmer >> str;
return str;
}
std::string ft_tolower(std::string const &str)
{
std::string result(str);
std::transform(result.begin(), result.end(), result.begin(), ::tolower);
return result;
}
long scanNumber(const char *str, int base)
{
long size;
char *end_ptr = 0;
size = std::strtol(str, &end_ptr, base);
if (size == 0 && end_ptr == str) {
return -1;
}
return size;
}
std::string convertTime(const time_t *t)
{
struct tm *timeinfo;
char buffer[80] = {};
timeinfo = gmtime(t);
strftime(buffer, 80, "%a, %d %b %Y %T %Z", timeinfo);
return std::string(buffer);
}
bool isDirectory(std::string const &path)
{
struct stat statbuf = {};
if (stat(path.c_str(), &statbuf) != 0)
return false;
bool res = S_ISDIR(statbuf.st_mode);
return res;
}
bool isFileExists(const std::string &path)
{
struct stat buffer = {};
return (stat(path.c_str(), &buffer) == 0);
}