6
unknown
c_cpp
3 years ago
950 B
32
Indexable
#include <iostream>
#include <fstream>
#include <regex>
#include <string>
#include <cstdlib>
#include <cmath>
class Complex {
public:
Complex(short r, unsigned long i) : real(r), imag(i) {}
short real;
unsigned long imag;
};
int main() {
std::ifstream file("text.cpp");
std::string str((std::istreambuf_iterator<char>(file)), std::istreambuf_iterator<char>());
std::regex pattern("Complex\\((-?\\d+), (\\d+)ul\\)");
std::smatch match;
while (std::regex_search(str, match, pattern)) {
short real = std::stoi(match[1].str());
unsigned long imag = std::stoul(match[2].str());
if (real >= SHRT_MIN && real <= SHRT_MAX && imag <= ULONG_MAX) {
Complex c(real, imag);
std::cout << "Constructed Complex object with real=" << c.real << " and imag=" << c.imag << std::endl;
}
str = match.suffix().str();
}
return 0;
}
Editor is loading...