I am using stringstream
for converting string of numerals to an integer. I don't know why followed code isn't working. Can someone explain to me why I am always getting equal values of the tmp variable?
#include <fstream>
#include <string>
#include <sstream>
#include <cctype>
int main() {
std::ifstream input("input.txt");
std::ofstream output("output.txt");
std::string str = "", line;
std::stringstream ss;
int tmp;
while (std::getline(input, line)) {
for (int i = 0, l = line.size(); i < l; i++) {
if (isdigit(line[i]))
str += line[i];
}
ss << str;
// gets int from stringstream
ss >> tmp;
output << str << ' ' << tmp << std::endl;
str = "";
// stringstream clearing
ss.str("");
}
return 0;
}