下面是一些过去使用我的代码的代码,但现在有一个问题:
#include <iostream>
#include <fstream>
#include <sstream>
#include <cstring>
using namespace std;
int main()
{
stringstream out;
out << 100;
cout << out.str();
}我得到的只是空白输出。我刚用Xcode3.2换成了雪豹。
发布于 2009-11-18 21:52:46
在相同的条件下获得完全相同的问题雪豹64位XCode 3.2基础SDK10.6和切换到基础SDK10.5解决了它。
很明显,这是SDK 10.6的问题。
正确的解决方法是删除预处理器宏:
从预处理器设置(或者如上所述回退到SDK 10.5 )。
Apple Discussion Link
发布于 2009-09-04 03:20:52
这对我很管用。如果有问题,应该是你的gcc的问题。
顺便说一句,也许你必须在cout <<之后添加fflush( stdout ),有时问题出在stdout buffer上。
#include <iostream>
#include <fstream>
#include <sstream>
#include <cstring>
using namespace std;
int main()
{
stringstream out;
out << 100;
cout << out.str();
fflush(stdout);
}发布于 2009-09-04 08:43:49
另一个想法是,你在升级之前留下了一个.o文件,这在某种程度上把事情搞乱了。混合来自两个不同版本的C++编译器的.o文件可能会导致各种奇怪的问题。我也不会忽视头文件的问题,尽管sstream应该包含字符串。
https://stackoverflow.com/questions/1377038
复制相似问题