怎样判断CString str("****"),是不是16进制数啊?CString str("0x3f"),是CString str("ge55"),不是CString str("0x5g"),不是……
解决方案 »
- DISPID_NEWWINDOW2 怎么在自己的浏览器弹出新的网页
- 利用vfw进行视频采集,分辨率的问题
- GetDlgItem(hWnd,1003)问题
- 怎么建splitter 窗口
- 使用MFC的ActiveX控件进行串口通讯时遇到的弱智问题,在线等待~~~~~~~~
- 一个网络编程的问题
- unexpected end of file while looking for precompiled header directive 编译出错的提示,知道的请进来指点下!谢谢!
- 编了怎么多年程,的出的经验:不管什么语言,主要的是核心的算法。(讨论)
- 一个奇怪的问题,我的应用程序换个地方怎么就不能正常运行了呢?
- “ON_CBN_SELCHANGE(ID_COMBO, OnComboSelChange)”可以用“ON_NOTIFY(CBN_SELCHANGE,ID_COMBO,OnComboSelChange)”代替吗?
- 线程同步的老问题
- ★★★★那里有CEdit和CScrollBar组合使用得例子? ★★★★
CString str("\x03f")
CString str("\x055")
才是16进制数
你的意思是分析字符串str是不是表示一个16进制数吧。
那就是词法分析的范围了,可以根据状态转换图分析。
扫描第一个字符,如果是‘0’,继续分析第二个字符,否则不是16进制数,退出分析。
扫描第二个字符,如果是‘x’,继续分析第三个字符,否则不是16进制数,退出分析。
扫描第三个字符,如果(char>=a&&char<=f)||(char>=A&&char<=F),继续分析第四个字符,否则不是16进制数,退出分析。
扫描第四个字符,如果(char>=a&&char<=f)||(char>=A&&char<=F)||(char==' '),则此str是16进制数并退出分析,否则不是16进制数,退出分析。
应改为‘(char>=a&&char<=f)||(char>=A&&char<=F)||(char>=0&&char<=9)’