From c04304fc802eb7555ef2dc71b454b8c1fbaa1164 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Mon, 30 May 2022 19:23:00 +0300 Subject: Autocommit at 30.05.2022 @ 19:23 --- src/Models/Table.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/Models/Table.cpp') diff --git a/src/Models/Table.cpp b/src/Models/Table.cpp index c4fa332..34719ed 100644 --- a/src/Models/Table.cpp +++ b/src/Models/Table.cpp @@ -17,6 +17,7 @@ unsigned countOfCommas(std::ifstream& file) { } #define abs(a) ((a < 0) ? -a : a) +#define isNumeric(a) (a >= '0' && a <= '9') bool containsNumber(const char*& str) { while (*str == ' ') str++; @@ -45,13 +46,19 @@ void Table::readFromFile(std::ifstream& inFile) { if (inFile.peek() == ',') { colInd++; + inFile.get(); } else if (inFile.peek() == '\n') { cells.add(List(commaCount)); colInd = 0; inFile.get(); } - else if (inFile.peek() ) + else if (inFile.peek() == '-' || inFile.peek() == '+' || isNumeric(inFile.peek())) { + unsigned numberStart = inFile.tellg(); + if (inFile.peek() == '-' || inFile.peek() == '+') inFile.get(); + if (!isNumeric(inFile.peek())) + throw std::logic_error(""); + } } } -- cgit v1.3.1-23-gd82d