reading from stdin in c++
Solution 1:
You have not defined the variable input_line
.
Add this:
string input_line;
And add this include.
#include <string>
Here is the full example. I also removed the semi-colon after the while loop, and you should have getline
inside the while to properly detect the end of the stream.
#include <iostream>
#include <string>
int main() {
for (std::string line; std::getline(std::cin, line);) {
std::cout << line << std::endl;
}
return 0;
}
Solution 2:
//declaration:
int i2;
double d2;
string s2;
//reading by keyboard
cin >> i2;
cin >> d2;
cin.get();
getline(cin, s2);
//printing:
cout << i+i2 << endl;
cout<< std::fixed <<std::setprecision(1)<< d + d2 << endl;
cout << s << s2;
you can run this code:
#include <iostream>
#include <iomanip>
#include <limits>
using namespace std;
int main() {
int i = 4;
double d = 4.0;
string s = "hi ";
int i2;
double d2;
string s2;
cin >> i2;
cin >> d2;
cin.get();
getline(cin, s2);
cout << i+i2 << endl;
cout<< std::fixed <<std::setprecision(1)<< d + d2 << endl;
cout << s << s2;
return 0;
}