c++ string用字符数组赋值吗
答案:2 悬赏:0 手机版
解决时间 2021-02-13 16:55
- 提问者网友:椧運幽默
- 2021-02-12 19:46
c++ string用字符数组赋值吗
最佳答案
- 五星知识达人网友:煞尾
- 2021-02-12 20:33
可以
for(i = 0;i < stringStr.length();i++)
cStr[i] = stringStr[i];
for(i = 0;i < stringStr.length();i++)
cStr[i] = stringStr[i];
全部回答
- 1楼网友:十鸦
- 2021-02-12 21:15
getline()在vc6上这种使用有问题,需要按两次回车,才能结束输入(vc6的bug?)
对于,你程序上不能赋值和显示的问题,的确如 正常人1号 所言,temp初始被指定了空间大小,temp=""; 这样temp的大小被设置为0. 而通过数组下标方式([])引用string类变量进行赋值,这是[]运算符的重载,它并不能自动扩展string类对象的存储空间,所以,你的程序运行出现了问题。(我测试中,系统hang在那里不动了)。
如果初始定义写成string temp="12345"; 则在输入5个字符之内,都可以正常运行。
单就你这段代码而言,其实不需要这样来进行赋值,如下可以简单的实现你的数据转存到temp中:
string s;getline(cin,s); string temp=s ; 或string temp(s);都可以达到拷贝数据到temp中for(i=0;i
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯