After getting a helpful answer here, I have run into yet another problem: displaying two or more strings in the column I want it to be displayed in. For an example of the problem I have, I want this output:
Come here! where? not here!
but instead get
Come here! where? not here!
when I use the code
cout << left << setw(30) << "Come here!" << " where? " << setw(20) << "not here!" << endl;
I made sure (I think) that the width of both columns could contain the two strings, but no matter how large I set the width of the columns to be, the error is still there.
As stated, setw()
only applies to the next input, and you are trying to apply it to two inputs.
An alternative to the other suggestions which gives you a chance to use variables in place of literal constants:
#include <iostream>
#include <sstream>
#include <iomanip>
using namespace std;
int main()
{
stringstream ss;
ss << "Come here!" << " where?";
cout << left << setw(30) << ss.str() << setw(20) << "not here!" << endl;
return 0;
}