VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 677|回复: 8

急!!! 求助了大家才编出的程序怎么还是不行,谢谢!!!

[复制链接]

5

主题

17

帖子

15.00

积分

新手上路

Rank: 1

积分
15.00
发表于 2020-2-12 01:30:01 | 显示全部楼层 |阅读模式
怎么还是不行呢,急死了,因为初学,调了几天都调不出来
哪位大侠帮我看看我的程序

CString str = "a#bc#dfgh#e";
CString str1, str2, str3, str4;
CStringArray StrArray;

void CMy30Dlg::dispach()
{
        AfxExtractSubString(str1, str, 0, '#');//str1="a"
        AfxExtractSubString(str2, str, 0, '#');//str2="bc"
        AfxExtractSubString(str3, str, 0, '#');//str3="dfgh"
        AfxExtractSubString(str4, str, 0, '#');//str4="e"
       

        StrArray.Add(str1);
        StrArray.Add(str2);
        StrArray.Add(str3);
        StrArray.Add(str4);
}

// 我把用#号分隔的字符串,分别取出来放在str1,str2,str3,str4中,再放到StrArray中

void CMy30Dlg::display()
{
         UpdateData();
        m_fre = StrArray.GetAt(1);
        m_bw = StrArray.GetAt(2);
        m_sen = StrArray.GetAt(3);
        m_hop = StrArray.GetAt(4);
          UpdateData(false);

}

// m_fre,m_bw,m_sen,m_hop是我和Edit控件相关连的四个CString类型的变量, 我在这个函数里面想实现把保存的四个字符显示在四个edit编辑框中

哪里不对????怎么显示不出来
急死了!谢谢
回复

使用道具 举报

0

主题

3

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-4-9 15:30:01 | 显示全部楼层
        m_fre = StrArray.GetAt(0);
        m_bw = StrArray.GetAt(1);
        m_sen = StrArray.GetAt(2);
        m_hop = StrArray.GetAt(3);
回复

使用道具 举报

0

主题

3

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-4-9 17:15:01 | 显示全部楼层
你的界限不对,另外你的dispach() 函数有问题,取出来的都是a 你再好好看看
回复

使用道具 举报

5

主题

17

帖子

15.00

积分

新手上路

Rank: 1

积分
15.00
 楼主| 发表于 2020-4-9 19:15:01 | 显示全部楼层
恩,谢谢,我再看看,有高人请继续指点,真的很感激!!!
回复

使用道具 举报

0

主题

32

帖子

27.00

积分

新手上路

Rank: 1

积分
27.00
发表于 2020-4-9 21:30:02 | 显示全部楼层
试了一下, 上在的AfxExtractSubString那几步应改为下面的:
        AfxExtractSubString(str1, str, 0, '#');//str1="a"
        AfxExtractSubString(str2, str, 1, '#');//str2="bc"
        AfxExtractSubString(str3, str, 2, '#');//str3="dfgh"
        AfxExtractSubString(str4, str, 3, '#');//str4="e"
回复

使用道具 举报

0

主题

70

帖子

42.00

积分

新手上路

Rank: 1

积分
42.00
发表于 2020-4-9 22:30:01 | 显示全部楼层
        AfxExtractSubString(str1, str, 0, '#');//str1="a"
        AfxExtractSubString(str2, str, str1.GetLength(), '#');//str2="bc"
        AfxExtractSubString(str3, str, str2.GetLength(), '#');//str3="dfgh"
       
        str4 = str.Mid(str1.GetLength() + str2.GetLength() + str3.GetLength() + 3);
回复

使用道具 举报

0

主题

10

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-4-10 00:30:01 | 显示全部楼层
你欠缺最基本的仔细:)
回复

使用道具 举报

5

主题

17

帖子

15.00

积分

新手上路

Rank: 1

积分
15.00
 楼主| 发表于 2020-4-10 14:00:01 | 显示全部楼层
        AfxExtractSubString(str1, (LPCTSTR)str, 0, '#');//str1="a"
        AfxExtractSubString(str2, (LPCTSTR)str, 1, '#');//str2="bc"
        AfxExtractSubString(str3, (LPCTSTR)str, 2, '#');//str3="dfgh"
        AfxExtractSubString(str4, (LPCTSTR)str, 3, '#');//str4="e"
       
这样改了之后还是不行 :(
回复

使用道具 举报

5

主题

17

帖子

15.00

积分

新手上路

Rank: 1

积分
15.00
 楼主| 发表于 2020-4-10 19:15:01 | 显示全部楼层
真的十分感谢各位!!!   
         AfxExtractSubString(str1, str, 0, '#');//str1="a"
        AfxExtractSubString(str2, str, 1, '#');//str2="bc"
        AfxExtractSubString(str3, str, 2, '#');//str3="dfgh"
        AfxExtractSubString(str4, str, 3, '#');//str4="e"
这样就行么???

怎么我还是没有显示出来呢?编译是通过了!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表