Website Summary Files Commits Branches @commit @diff @stats
path: root / Utills / Kindle / Page.cpp
diff options
context:
space:
mode:
Commit414aec98b546d11698af7fdcb441e8080da6e46a (patch)
Author
 Stoycho Kyosev <68247567+stoychoX@users.noreply.github.com>
2022-05-12 22:21:57 +0300
Committer
 GitHub <noreply@github.com>
2022-05-12 22:21:57 +0300
Filesb8747c23acce8a9c91ad3364f7bd020cc3aa204e /Utills/Kindle/Page.cpp
Object-oriented_programming_FMI-414aec98b546d11698af7fdcb441e8080da6e46a.tar
Object-oriented_programming_FMI-414aec98b546d11698af7fdcb441e8080da6e46a.tar.gz
Object-oriented_programming_FMI-414aec98b546d11698af7fdcb441e8080da6e46a.zip
Parentfdf22bff479c48991ea769ffe3964d50678c5ffb (diff)
Add files via upload
1 files changed, 37 insertions, 0 deletions
-rw-r--r--Utills/Kindle/Page.cpp37
diff --git a/Utills/Kindle/Page.cpp b/Utills/Kindle/Page.cpp
new file mode 100644
index 0000000..a905f25
--- /dev/null
+++ b/Utills/Kindle/Page.cpp
@@ -0,0 +1,37 @@
+#include "Page.h"
+
+void Page::write(unsigned linesCount) {
+ if (linesCount > MAX_LINES_IN_PAGE)
+ linesCount = MAX_LINES_IN_PAGE;
+
+
+ for (size_t i = 0; i < linesCount; i++) {
+ std::cout << i + 1 << " ";
+ lines.pushBack(string());
+
+ lines[i].getLine(std::cin);
+ }
+}
+
+void Page::displayPage() const {
+ for (size_t i = 0; i < lines.getSize(); i++)
+ std::cout << lines[i] << std::endl;
+}
+
+void Page::writeToFile(std::ofstream& outFile) const {
+ int len = lines.getSize();
+ outFile.write((const char*)&len, sizeof(len));
+
+ for (size_t i = 0; i < len; i++)
+ writeString(outFile, lines[i]);
+}
+
+void Page::readFromFile(std::ifstream& inFile) {
+ int len = 0;
+ inFile.read((char*)&len, sizeof(len));
+
+ for (size_t i = 0; i < len; i++) {
+ string s = readString(inFile);
+ lines.pushBack(std::move(s));
+ }
+}