Reputation: 5064
Here is some code that used to work with my code, but is having a problem now:
#include <iostream>
#include <fstream>
#include <sstream>
#include <cstring>
using namespace std;
int main()
{
stringstream out;
out << 100;
cout << out.str();
}
I get just blank output. I just changed to snow leopard with Xcode 3.2.
Upvotes: 0
Views: 3679
Reputation:
Get this exact same issue under the same conditions Snow Leopard 64-Bit XCode 3.2 Base SDK 10.6 and the switch to Base SDK 10.5 resolves it.
Apparently it's a SDK 10.6 issue.
and the correct workaround is to remove the preprocessor macros:
From the preprocessor settings (or else fall back to SDK 10.5 as above).
Upvotes: 2
Reputation:
Shouldn't you add the end of string before converting to string?
cout << out.str() << sdt::ends;
Upvotes: -1
Reputation: 56078
Another idea is that you have a .o file left over from before you upgraded that's somehow messing things up. Mixing .o files from two different versions of the C++ compiler can cause all kinds of strange problems. I also do not discount the header file issue as well, though sstream should be including string.
Upvotes: 0
Reputation: 800
it works for me. if there's a problem, it should be your gcc's.
btw, maybe you have to add fflush(stdout); after the cout << sometime the problem is stdout buffer
#include <iostream>
#include <fstream>
#include <sstream>
#include <cstring>
using namespace std;
int main()
{
stringstream out;
out << 100;
cout << out.str();
fflush(stdout);
}
Upvotes: 1