C++中string类型用法的一个简单问题

各位高手帮忙看一下看看哪里注释掉的两句出现什么问题了书本上的例子,但是s2=s3+''+s4;出问题了,不知道是什么问题下面是程序#include<iostream>#i... 各位高手帮忙看一下看看哪里注释掉的两句出现什么问题了
书本上的例子,但是
s2=s3+''+s4; 出问题了,不知道是什么问题 下面是程序
#include <iostream>
#include <string>
using namespace std;
void main ()
{
string s1; //定义一个空串
string s2="Student"; //定义一个串初始值为student
string s3=s2; //定义一个串s3初始值为串s2
string s4(8,'A'); //定风一个串初始值为8个A组成的串
cin>>s1; //读入字符串S1的值,注意遇到空格 tab 回车即结束 此处假设输入Zhu

cout<<s1<<endl<<s2<<endl<<s3<<endl<<s4<<endl;
s4=s1; //可用赋值运算符对string 类型的字符串变量s4赋值
//右边可以是一个string 串、c风格的字符串或一个char字符
cout<<"s4="<<s4<<"length is:"<<s4.length()<<endl;
// string 变量名.length()用于求该变量的串长
//s2=s3+''+s4; //+号可以实现字符串的联结,其左边为一个string 类型变量
//右边可以是一个string串、c风格的字符或一个char字符
//cout<<"s2="<<s2<<endl; //输出结果为s2= Student Zhu
s3.insert(7,"&Teacher");
// 向string串s3的7下标处插和一个串"&Teacher"
cout<<"s3="<<s3<<endl; // 输出结果为s3=student&Teacher
s3.replace(2,4,"ar"); // 利用replace 函数将string串S3的2下标开始的长度为长度为4的字符串替成ar

cout<<"s3="<<s3<<endl; //输出结果为s3=start&Teacher
s1=s3.substr(6,7); //利用substr函数取出string串s3的6下标开始的长度为7的子串赋给s1串

cout<<"s1="<<s1<<endl; //输出结果为s1=Teacher

int pos=s3.find(s1); // 在串S3中查找s1串是否存在,如果存在,返回s1串的第一个字符在s3中的下标
cout <<"pos="<<pos<<endl;
s3.erase(5,8); //删除从string串s3的5下标开始的长度为8的字符串

cout<<"s3="<<s3<<endl;
bool f=s1>s4; //关系运算符可以直接用于比较string串大小返回bool结果
cout<<f<<" "<<boolalpha<<f<<endl;
}
展开
 我来答
shy2850
2009-09-27 · TA获得超过6775个赞
知道大有可为答主
回答量:2505
采纳率:55%
帮助的人:1600万
展开全部

s2=s3+''+s4;可以实现字符串的连接,但是不能连接字符,''单引号引起来的表示单个字符,这里是错误的,应该改为:" ",即:s2=s3+""+s4;

这样就可以得到答案了。结果如图:

百度网友c4249ef
2009-09-27 · TA获得超过4867个赞
知道大有可为答主
回答量:1855
采纳率:0%
帮助的人:3238万
展开全部
楼上的回答有点问题,改为""确实可以,但问题却不是因为连接字符,而是因为用了空的字符''

即使是char c='';也是不允许的,
报错error C2137: empty character constant

改为加个字符就行,空格或者别的都可以


s2=s3+' '+s4;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
promisec
2009-09-27 · 超过22用户采纳过TA的回答
知道答主
回答量:56
采纳率:0%
帮助的人:0
展开全部
s2 = s3 + " " + s4;
要双引号
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式