From 40f7cc8f54d0c221a391457fd38a44d0633aa088 Mon Sep 17 00:00:00 2001 From: angeld55 Date: Mon, 16 May 2022 14:05:08 +0300 Subject: fixed typo in folder name --- Utills/Kindle/string.cpp | 158 ----------------------------------------------- 1 file changed, 158 deletions(-) delete mode 100644 Utills/Kindle/string.cpp (limited to 'Utills/Kindle/string.cpp') diff --git a/Utills/Kindle/string.cpp b/Utills/Kindle/string.cpp deleted file mode 100644 index cb79dfb..0000000 --- a/Utills/Kindle/string.cpp +++ /dev/null @@ -1,158 +0,0 @@ -#include "string.h" -#include -#include - -#pragma warning(disable : 4996) - -void string::copyFrom(const string& other) -{ - str = new char[strlen(other.str) + 1]; - strcpy(str, other.str); - size = other.size; -} -void string::free() -{ - delete[] str; -} - -string::string() -{ - str = new char[1]; - str[0] = '\0'; - size = 0; -} - -string::string(const char* data) -{ - if (data == nullptr) - { - str = new char[1]; - str[0] = '\0'; - size = 0; - } - else - { - size = strlen(data); - str = new char[size + 1]; - strcpy(str, data); - } -} - -string::string(const string& other) -{ - copyFrom(other); -} -string& string::operator=(const string& other) -{ - if (this != &other) - { - free(); - copyFrom(other); - } - return *this; -} -string::~string() -{ - free(); -} - - -size_t string::getSize() const -{ - return size; -} -void string::concat(const string& other) -{ - char* temp = new char[getSize() + other.getSize() + 1]; - strcpy(temp, str); - strcat(temp, other.str); - - delete[] str; - str = temp; - size = size + other.getSize(); -} - -const char* string::c_str() const -{ - return str; -} - -string& string::operator+=(const string& other) -{ - concat(other); - return *this; -} - -void string::getLine(std::istream& outFile) -{ - delete[] str; - char buff[1024]; - - outFile.getline(buff, 1024, '\n'); - size_t len = strlen(buff); - str = new char[len + 1]; - for (size_t i = 0; i < len; i++) - str[i] = buff[i]; - str[len] = '\0'; - size = len; -} - -string operator+(const string& lhs, const string& rhs) -{ - string copyOfLeft(lhs); - copyOfLeft += rhs; - return copyOfLeft; -} - -std::ostream& operator<<(std::ostream& stream, const string& str) -{ - stream << str.str; - return stream; -} - -std::istream& operator>>(std::istream& stream, string& str) -{ - delete[] str.str; - char buff[1024]; - stream >> buff; - - str.size = strlen(buff); - str.str = new char[str.size + 1]; - strcpy(str.str, buff); - - return stream; -} - -bool operator==(const string& lhs, const string& rhs) -{ - return strcmp(lhs.c_str(), rhs.c_str()) == 0; -} -bool operator<=(const string& lhs, const string& rhs) -{ - return strcmp(lhs.c_str(), rhs.c_str()) <= 0; - -} -bool operator<(const string& lhs, const string& rhs) -{ - return strcmp(lhs.c_str(), rhs.c_str()) < 0; - -} - -string::string(string&& otherString) -{ - str = otherString.str; - size = otherString.size; - otherString.str = nullptr; -} - -string& string::operator=(string&& otherString) -{ - if (this != &otherString) - { - free(); - str = otherString.str; - otherString.str = nullptr; - size = otherString.size; - } - return *this; -} \ No newline at end of file -- cgit v1.3.1-23-gd82d