急救::关于字符串的一个小问题!

birdjuly1 2003-07-02 12:03:15
搞课程设计,遇到了点麻烦。请问怎么把字符串中的数字提取出来:
如:有char s=18-9*(4+3)
现在要将 s 里面的‘18’,‘9’,‘4’,‘3’提取出来,我不知道怎么办了?
请大虾们帮帮忙,谢谢!
...全文
78 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Paris_Luo 2003-11-17
  • 打赏
  • 举报
回复
#include <iostream.h>
#include <string.h>

void main()
{
char s[]="8-9*(4+3)";
char *str = strtok(s,"-*(+)");
while(str!=NULL)
{
cout << str << endl;
str = strtok(NULL,"-*(+)");
}
}
birdjuly1 2003-11-17
  • 打赏
  • 举报
回复
还是没有会
birdjuly1 2003-11-17
  • 打赏
  • 举报
回复
还是没有会
whoo 2003-07-02
  • 打赏
  • 举报
回复
简单参考一下编译原理之类的冬冬就可以了,类似于公式分析器之类的样子。

或者简单的处理:把+-*/()等当作分隔符,用它来切分字符串就行了。
snaill 2003-07-02
  • 打赏
  • 举报
回复
用一个循环,如果是'0'-'9'之间的字符,另存在其他变量中就好了
xtuzi 2003-07-02
  • 打赏
  • 举报
回复
TCHAR *s = _T("18-9*(4+3)");
int a,b,c,d;
if (_stscanf(s, _T("%d-%d*(%d+%d)"), &a, &b, &c, &d) == 4)
{
//success
}

或者一个个字符判断,或者用+-*()分解


kernelhao 2003-07-02
  • 打赏
  • 举报
回复
只能是一个一个的来判断吧!
好象没有什么函数啊!
smallcrocodile 2003-07-02
  • 打赏
  • 举报
回复
自己做一个函数判断一下
dzqsuper 2003-07-02
  • 打赏
  • 举报
回复
老大难

16,550

社区成员

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

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

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