C++用String输出字符串的问题

#include<iostream>#include<string>usingnamespacestd;intmain(){stringstr;getline(cin,s... # include <iostream>
# include <string>
using namespace std;
int main()
{
string str;
getline(cin, str);

cout<<"你输入的是"<<str<<endl;
return 0;
}

要输入两次才可以,而且只有第一次输入有效??哪里错了
展开
 我来答
百度网友143e5c9
2013-01-05 · 超过32用户采纳过TA的回答
知道答主
回答量:75
采纳率:0%
帮助的人:69.3万
展开全部

你用的编译工具是VC++6.0吧  这是个bug  不过微软已经解决了修复了这个bug

 

解决办法是

进入到VC++6.0的安装目录Microsoft Visual Studio\VC98\Include,找到名为string的文件,注意不是string.h,然后找到下面这段代码:

elseif (_Tr::eq((_E)_C,_D)) 

{_Chg = true; 

  _I.rdbuf()->snextc(); 

  break; 


 

把_I.rdbuf()->snextc();这一行注释掉,然后在它的下面添加一行:_I.rdbuf()->sbumpc();

重新启动VC++6.0即可。

 

 

 

图片上传了。

 

 希望对您有所帮助

阿四哥vlog
2021-05-19 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:607
采纳率:0%
帮助的人:28.2万
展开全部

C语言关于字符串的学习,打印并输出我们的字符串(string)

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Prokyo
2013-01-05 · 超过11用户采纳过TA的回答
知道答主
回答量:28
采纳率:0%
帮助的人:27.4万
展开全部
测试了一下,只有VC6有你说的这个问题,用g++就没有这个问题。解决办法是,问候一下比尔他母亲吧,然后换成高版本的VC
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zjnny
2013-01-05 · TA获得超过2037个赞
知道小有建树答主
回答量:1055
采纳率:100%
帮助的人:1064万
展开全部
程序本身没有问题,你的编译器有可能有问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
_whales
2013-01-05 · TA获得超过2279个赞
知道大有可为答主
回答量:1814
采纳率:85%
帮助的人:506万
展开全部
# include <iostream>
# include <string>
using namespace std;
int main()
{
string str;
cin.getline( str, 5, '\n' );
cout<<"你输入的是"<<str<<endl;

return 0;
}
追问
加\n 不行,还要输入两次
追答
cin>>str;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式