C++ c++;
我希望下面的代码输出C++ c++;,c++,xcode,string,macos,C++,Xcode,String,Macos,我希望下面的代码输出hello5。相反,它只输出hello。 试图向ostringstream输出int似乎有问题。 当我将相同内容直接输出到cout时,我收到了预期的输入。在雪豹上使用XCode 3.2 谢谢 #include <iostream> #include <string> #include <sstream> using namespace std; int main(){ int myint = 5; string mystr = "h
hello5
。相反,它只输出hello
。
试图向ostringstream
输出int似乎有问题。
当我将相同内容直接输出到cout
时,我收到了预期的输入。在雪豹上使用XCode 3.2
谢谢
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main(){
int myint = 5;
string mystr = "hello";
string finalstr;
ostringstream oss;
oss << mystr << myint;
finalstr = oss.str();
cout << finalstr;
return 0;
}
#包括
#包括
#包括
使用名称空间std;
int main(){
int-myint=5;
字符串mystr=“hello”;
字符串finalstr;
ostringstream oss;
oss你的代码是正确的,它在我的Windows 7机器上写得很好。也许问题在于你没有写std::endl或其他可能会混淆你的操作系统的东西。我刚刚测试过,它在我的Mac电脑上使用Xcode 3.2.1和Snow Leopard运行得很好。这不是因为你的提示隐藏了输出吗?试着在c中添加一个endl
外线
--编辑--
我的测试套件
c++测试.cpp
——工作正常
c++-D_GLICXX_DEBUG=1测试.cpp
--失败
c++-arch i386-D_GLICXX_DEBUG=1 test.cpp
——工作正常
对此我们能说些什么呢?简言之,64位stdc++的调试版本似乎已被破坏。是的,在这方面进行了测试(windows XP Pro)在XDCOP中从C++的Visual C++ 9和英特尔C++编译器11.1中得到“<代码> HeloL5</代码>”。这是正确的解决方案。它说将编译器从GCC 4.2切换到GCC 4(在项目设置、调试配置)中。.Program在此之后正确运行。不!尝试过,但没有雪茄,但得到以下结果:如果我翻转输出(int第一,string第二),那么什么都不会显示。(oss你如何编译它?我做了一个简单的c++文本。cpp
你的问题似乎与你的编译器或shell有关。尝试附加一个调试器,看看幕后会发生什么。你能在启用调试的情况下进行测试吗?比如在unix机器上测试-D_GLIBCXX_debug=1
?好奇是不是只有Mac才有问题?我只能同意…当测试时。)NG在一个XC+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++BCXX_DEBUG=1
像在unix机器上一样?好奇是否只有Mac有问题我通过调试器运行了它,没有发现任何异常…对不起,我可以想象MS有自己的流类实现。Mac依赖于GLIB源。不知道它是否与Mac隔离。。。