首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

程序运行结束的最后崩溃了!咋回事啊求解

2012-03-28 
程序运行结束的最后崩溃了!怎么回事啊!求解![size24px][/size]#includeiostream#includestrstreamusi

程序运行结束的最后崩溃了!怎么回事啊!求解!
[size=24px][/size]#include<iostream>
#include<strstream>
using namespace std;
int main()
{
char p[20]="\0";
ostrstream outputString(p,200);
char *s1="若干类型数据输出到",
*s2="一个输出字符串流对象中:",
*s3="\n 双精度型:",
*s4="\n 整型:",
*s5="\n整型数的地址:";
double d=123.5487;
int i=2;
outputString<<s1<<s2<<s3<<d<<s4<<i<<s5<<&i<<endl;
cout<<"字符串流类中包含:\n"<<outputString.str ()<<endl;
system("pause");
outputString<<"\n输出字符串流类对象的使用示例";
cout<<"\n在向输出字符串流类对象添加内容后,\n"
<<"字符串流类中包含:\n"<<outputString.str ()<<endl;
cout<<"woeie"<<endl;
return 0;
}程序运行结束的最后崩溃了!怎么回事啊!求解

[解决办法]

这句改为 outputString<<s1<<s2<<s3<<d<<s4<<i<<s5<<int(&i)<<endl;
这里&i 会被当成指针,越界了,所以崩溃。
[解决办法]
char p[20]="\0";
ostrstream outputString(p,200);
改成
char p[200] = "\0";

热点排行