| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 889 人关注过本帖
标题:请教string的赋值问题
只看楼主 加入收藏
kspliusa
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:98
专家分:178
注 册:2009-9-27
结帖率:80%
收藏
已结贴  问题点数:30 回复次数:6 
请教string的赋值问题
// 编译环境  DEV C++
#include <cstdlib>
#include <iostream>
#include <string>

using namespace std;

int main(void)
{
    string str_text_one;
    char source[] = "Hello";
   
    int i=0;
    while (source[i]) {
        str_text_one[i] = source[i]; // 这样赋值为啥不行呢
        i++;               
    }
    cout << "the length :" << str_text_one.length () << endl;
    cout << "str_text_one :" << str_text_one << endl;
     
    cout << "str_text_one :";
    for (i=0; i<strlen(source); i++) // 这样输出str_text_one中有值
        cout << str_text_one[i];
    cout << endl;
   
    str_text_one = source; // 这样赋值可以 上面为啥不行呢?
    int str_text_one_len = str_text_one.size ();
   
    cout << "str_text_one_len = " << str_text_one_len <<endl;
    cout << "str_text_one is :" << str_text_one << endl;
   
    system ("PAUSE");
    return 0;
}
问题如注释。。。
搜索更多相关主题的帖子: string 赋值 
2010-04-11 22:24
yyblackyy
Rank: 6Rank: 6
等 级:侠之大者
帖 子:98
专家分:457
注 册:2010-3-31
收藏
得分:10 
string str_text_one;
 str_text_one[i] = source[i]; //str_test_one 中没有元素 怎么赋值啊 所以系统崩溃了
改成 string str_test_one(6,' '); //这样就行了,楼主试试吧~
2010-04-11 23:52
kspliusa
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:98
专家分:178
注 册:2009-9-27
收藏
得分:0 
回复 2楼 yyblackyy
可以讲讲为什么吗?结果不是目的,目的是搞清楚原理啊。。。请指教。。。。
2010-04-12 12:45
yyblackyy
Rank: 6Rank: 6
等 级:侠之大者
帖 子:98
专家分:457
注 册:2010-3-31
收藏
得分:5 
晕,不是说了吗,str_test_one 中没有元素 怎么赋值啊 所以系统崩溃了
就像 定义了 int a[1];而楼主却在 使用 a[1],数组的下标出界了,错误!而这里的str_test_one 没有元素,楼主怎么能使用str_test_one [1]呢,
所以错了,后果就是程序beng了
2010-04-12 14:51
asdjc
Rank: 6Rank: 6
来 自:武汉
等 级:侠之大者
威 望:7
帖 子:98
专家分:487
注 册:2010-1-22
收藏
得分:13 
加点解释,主要是空间的问题,str_test_one 的空间不够。
2010-04-13 16:27
flyingzc
Rank: 2
等 级:论坛游民
帖 子:22
专家分:13
注 册:2010-4-1
收藏
得分:2 
char source[] = "Hello";
这里[]不填,默认值为多少啊
2010-04-13 17:30
kspliusa
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:98
专家分:178
注 册:2009-9-27
收藏
得分:0 
回复 4楼 yyblackyy
可是向后面这样输出为什么还有值啊?for (i=0; i<strlen(source); i++) // 这样输出str_text_one中有值
                                       cout << str_text_one[i];
??
2010-04-13 22:21
快速回复:请教string的赋值问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019973 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved