C++程序,输出字符串变量时为什么会出错。直接输出字符串却不会出错!

#include<iostream>#include<iomanip>#include<math.h>usingnamespacestd;voidmain(){strin... #include<iostream>
#include<iomanip>
#include<math.h>

using namespace std;
void main()
{
string a="asdfgh";
cout<<a;
}
展开
 我来答
Solehearthero
2012-09-26 · 超过10用户采纳过TA的回答
知道答主
回答量:43
采纳率:0%
帮助的人:34.4万
展开全部
因为没有加#include <string>,对string重载输出流不被支持。以下两者任选一种方式解决:
1.加上#include <string>;
2.把代码按如下方式来改写:
#include<iostream>
#include<iomanip>
#include<math.h>

using namespace std;

void main()
{
string a="asdfgh";
int iLen=a.length(); char * pCh = new char[iLen];
a.copy(pCh,iLen);
cout<<pCh<<"\n";
}
两种方式都可以,随便选一种。
晓晨之巅
2012-09-30 · 超过10用户采纳过TA的回答
知道答主
回答量:48
采纳率:100%
帮助的人:27.4万
展开全部
因为你定义字符串变量的类型string必须要包含库文件string,即加入#include <string>即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yoursatan
2012-09-26 · TA获得超过163个赞
知道答主
回答量:74
采纳率:63%
帮助的人:31.7万
展开全部
#include<iostream>
#include<iomanip>
#include<math.h>

using namespace std;
int main()
{
string a="asdfgh\n";
cout<<a;
return 0;
}

我用的G++编译。将void更改为int,并添加return 0;编译执行通过。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Zorro721
2012-09-26 · 超过16用户采纳过TA的回答
知道答主
回答量:42
采纳率:0%
帮助的人:14.3万
展开全部
要使用string类,要先用#include<string>把string头文件包含进来。阁下的定义的字符串变量
string a="asdfgh"; 的数据类型string类型;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
oakwood
2017-10-14 · TA获得超过877个赞
知道小有建树答主
回答量:942
采纳率:77%
帮助的人:225万
展开全部
显示字符串常量:cout << "asdfgh";
显示字符串变量指针:cout << a;
显示字符串变量内容:cout << *a;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(13)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式