高分求解一字符转换的问题?

jxfzamdzyx 2005-11-04 03:37:02
BOOL m_boolone;
CString m_cstringone;
UINT m_uintone;
float m_floatone;
CString AA;
AA = "<boolone>1</boolone><cstringone>8970</cstringone><unitone>20</unitone><floatone>5.0</floatone>"
要求实现的功能主要是判断<>里的字符是什么,如果是boolone,则把<boolone>1</boolone>中间的1赋给m_boolone,如果是cstringone,则把<cstringone>8970</cstringone>中间的8970赋给m_cstringone;
怎么实现?可否给个详细的程序?分不够,可以再给!
...全文
154 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
starwalker 2005-11-04
  • 打赏
  • 举报
回复
正则表达式
yayaniuniu502 2005-11-04
  • 打赏
  • 举报
回复
我刚写的,绝对行,找<cstringone>8970</cstringone>中的8970你就换一下变量就行了
BOOL m_boolone;
CString m_cstringone;
UINT m_uintone;
float m_floatone;
CString AA;
CString tmp = " ";
AA = "<boolone>1</boolone><cstringone>8970</cstringone><unitone>20</unitone><floatone>5.0</floatone>";

int a = AA.Find("<boolone>");
int b = AA.Find("</boolone>");
for(int k=0;k<(b-a-9);k++)
tmp.SetAt(k,AA[a+9]);
tmp.Trim();
m_floatone = atoi(tmp);
yayaniuniu502 2005-11-04
  • 打赏
  • 举报
回复
我刚写的,绝对行,找<cstringone>8970</cstringone>中的8970你就换一下变量就行了
BOOL m_boolone;
CString m_cstringone;
UINT m_uintone;
float m_floatone;
CString AA;
CString tmp = " ";
AA = "<boolone>1</boolone><cstringone>8970</cstringone><unitone>20</unitone><floatone>5.0</floatone>";

int a = AA.Find("<boolone>");
int b = AA.Find("</boolone>");
for(int k=0;k<(b-a-9);k++)
tmp.SetAt(k,AA[a+9]);
tmp.Trim();
m_floatone = atoi(tmp);
djfu 2005-11-04
  • 打赏
  • 举报
回复
这是XML 语法的解析,其实楼主说的还是挺浅显的,网上这样的例子多的是。
ddmor 2005-11-04
  • 打赏
  • 举报
回复
可以写一个简单的词法分析器。
比如在算法中规定标签为简单的如下两种
起始标签 = <+空白字符+变量标识+空白字符+>
终止标签 = <+空白字符+/+空白字符+变量标识+空白字符+>
值定义项 = 起始标签+值+终止标签
其中
空白字符='\n','\t','\r',' '
值=除<的其他字符组合
变量标识=除>的其他字符组合
jxfzamdzyx 2005-11-04
  • 打赏
  • 举报
回复
感觉自己做的比较笨,只想知道有没有其它简洁明了的方法!
lixiaosan 2005-11-04
  • 打赏
  • 举报
回复
解析xml文件

http://www.firstobject.com/xml.htm
lixiaosan 2005-11-04
  • 打赏
  • 举报
回复
CString::Find(...)
riverjade 2005-11-04
  • 打赏
  • 举报
回复
这问题也不难,关键是楼主太懒了,呵呵

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧