读书人

c++字符串赋值有关问题

发布时间: 2012-08-13 13:21:53 作者: rapoo

c++字符串赋值问题
设std::string str="";
str[0]='a';
std::cout<<str;
显示不出str=a
??????

[解决办法]
你还没有为string用于存放字符的地方分配内存空间,这样做自然会出错了。参考下面的代码:

C/C++ code
#include<string>#include <iostream>using namespace std;int main(){    string str1 = "A";    str1[0] = 'a';    cout << str1 << endl;    string str2 = "";    cout << strlen(str2.c_str()) << endl;    str2 += 'b';    cout << str2 << endl;        return 0;}
[解决办法]
楼上讲解不错。
[解决办法]
我想顶 1楼难道只能打字顶
[解决办法]
探讨

我想顶 1楼难道只能打字顶

[解决办法]

[解决办法]
是的,string的operator[]没那么智能, 自己要小心编程.

读书人网 >C++

热点推荐