From 76dae1e6fef3641ab9967d6307c20d4aa9719408 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sat, 7 May 2022 16:53:53 +0300 Subject: Autocommit at 07.05.2022 @ 16:53 --- src/Generic/String/String.cpp | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'src/Generic/String/String.cpp') diff --git a/src/Generic/String/String.cpp b/src/Generic/String/String.cpp index 0b3bf1f..6b50c64 100644 --- a/src/Generic/String/String.cpp +++ b/src/Generic/String/String.cpp @@ -68,6 +68,16 @@ String& String::operator=(String&& other) { return *this; } +void String::read(std::istream& istr) { + istr.read((char*)&length, sizeof(length)); + istr.read(str, sizeof(char) * length); +} + +void String::write(std::ostream& ostr) const { + ostr.write((char*)&length, sizeof(length)); + ostr.write(str, sizeof(char) * length); +} + int String::compare(const String& other) const { return strcmp(str, other.str); } @@ -77,8 +87,12 @@ char& String::operator[](unsigned index) { } std::istream& operator>>(std::istream& istr, String& event) { - istr >> event.str; + istr.getline(event.str, 1024); + event.length = strlen(event.str); return istr; } -friend std::ostream& operator<<(std::ostream& ostr, const String& event); + +std::ostream& operator<<(std::ostream& ostr, const String& event) { + return ostr << event.str; +} -- cgit v1.3.1-23-gd82d