Website Summary Files Commits Branches @commit @diff @stats
path: root / src / Generic / String / String.cpp
diff options
context:
space:
mode:
Commit76dae1e6fef3641ab9967d6307c20d4aa9719408 (patch)
Author
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-07 16:53:53 +0300
Committer
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-07 16:53:53 +0300
Files0d36660774bd6176be497321e3382b05f8ef4b1a /src/Generic/String/String.cpp
FMI-OOP-P1_TicketSystem-76dae1e6fef3641ab9967d6307c20d4aa9719408.tar
FMI-OOP-P1_TicketSystem-76dae1e6fef3641ab9967d6307c20d4aa9719408.tar.gz
FMI-OOP-P1_TicketSystem-76dae1e6fef3641ab9967d6307c20d4aa9719408.zip
Parentd5186a043e53375e5e0d83f47f99c8282da5db8f (diff)
Autocommit at 07.05.2022 @ 16:53
1 files changed, 16 insertions, 2 deletions
-rw-r--r--src/Generic/String/String.cpp18
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;
+}