如何从c中的字符串中提取数字?

2023-12-15

假设我有一个像这样的字符串ab234cid*(s349*(20kd我想提取所有数字234, 349, 20, 我应该怎么办 ?


你可以这样做strtol, 像这样:

char *str = "ab234cid*(s349*(20kd", *p = str;
while (*p) { // While there are more characters to process...
    if ( isdigit(*p) || ( (*p=='-'||*p=='+') && isdigit(*(p+1)) )) {
        // Found a number
        long val = strtol(p, &p, 10); // Read number
        printf("%ld\n", val); // and print it.
    } else {
        // Otherwise, move on to the next character.
        p++;
    }
}

Link to ideone.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从c中的字符串中提取数字? 的相关文章

  • C++:无法使用scoped_allocator_adaptor传播polymorphic_allocator

    我有一个vector
  • Cygwin 下使用 CMake 编译库

    我一直在尝试使用 CMake 来编译 TinyXML 作为一种迷你项目 尝试学习 CMake 作为补充 我试图将其编译成动态库并自行安装 以便它可以工作 到目前为止 我已经设法编译和安装它 但它编译成 dll 和 dll a 让它工作的唯一
  • 如何在我的应用程序中使用 Windows Key

    Like Windows Key E Opens a new Explorer Window And Windows Key R Displays the Run command 如何在应用程序的 KeyDown 事件中使用 Windows
  • C# 用数组封送结构体

    假设我有一个类似于 public struct MyStruct public float a 我想用一些自定义数组大小实例化一个这样的结构 在本例中假设为 2 然后我将其封送到字节数组中 MyStruct s new MyStruct s
  • 基于范围的 for 循环中的未命名循环变量?

    有没有什么方法可以不在基于范围的 for 循环中 使用 循环变量 同时也避免编译器发出有关未使用它的警告 对于上下文 我正在尝试执行以下操作 我启用了 将警告视为错误 并且我不想进行像通过在某处毫无意义地提及变量来强制 使用 变量这样的黑客
  • 按字典顺序对整数数组进行排序 C++

    我想按字典顺序对一个大整数数组 例如 100 万个元素 进行排序 Example input 100 21 22 99 1 927 sorted 1 100 21 22 927 99 我用最简单的方法做到了 将所有数字转换为字符串 非常昂贵
  • 为什么模板不能位于外部“C”块内?

    这是一个后续问题一个答案 https stackoverflow com questions 4866433 is it possible to typedef a pointer to extern c function type wit
  • 如何在 Team Foundation 上强制发表有意义的签入评论?

    我有一个开发团队有一个坏习惯 他们写道poor签入评论 当我们必须在团队基础上查看文件的历史记录时 这使得它成为一场噩梦 我已经启用了变更集评论政策 这样他们甚至可以在签到时留下评论 否则他们不会 我们就团队的工作质量进行了一些讨论 他们很
  • 线程、进程和 Application.Exit()

    我的应用程序由主消息循环 GUI 和线程 Task Factory 组成 在线程中我调用一些第三方应用程序var p new Process 但是当我调用Application Exit 在消息循环中 我可以看到在线程中启动的进程仍在内存中
  • Windows 10 中 Qt 桌面应用程序的缩放不当

    我正在为 Windows 10 编写一个简单的 Qt Widgets Gui 应用程序 我使用的是 Qt 5 6 0 beta 版本 我遇到的问题是它根本无法缩放到我的 Surfacebook 的屏幕上 这有点难以判断 因为 SO 缩放了图
  • 检查 url 是否指向文件或页面

    我们需要以下内容 如果文件确实是文件 则从 URL 下载该文件 否则 如果它是一个页面 则什么也不做 举个简单的例子 我有以下命令来下载文件 My Computer Network DownloadFile http www wired c
  • 什么是 C 语言的高效工作流程? - Makefile + bash脚本

    我正在开发我的第一个项目 该项目将跨越多个 C 文件 对于我的前几个练习程序 我只是在中编写了我的代码main c并使用编译gcc main c o main 当我学习时 这对我有用 现在 我正在独自开展一个更大的项目 我想继续自己进行编译
  • char指针或char变量的默认值是什么[重复]

    这个问题在这里已经有答案了 下面是我尝试打印 char 变量和指针的默认值 值的代码 但无法在控制台上看到它 它是否有默认值或只是无法读取 ASCII 范围 include
  • 如何构建印度尼西亚电话号码正则表达式

    这些是一些印度尼西亚的电话号码 08xxxxxxxxx 至少包含 11 个字符长度 08xxxxxxxxxxx 始终以 08 开头 我发现这个很有用 Regex regex new Regex 08 0 9 0 9 0 9 0 9 0 9
  • GDK3/GTK3窗口更新的精确定时

    我有一个使用 GTK 用 C 语言编写的应用程序 尽管该语言对于这个问题可能并不重要 这个应用程序有全屏gtk window与单个gtk drawing area 对于绘图区域 我已经通过注册了一个刻度回调gtk widget add ti
  • Bing 地图运行时错误 Windows 8.1

    当我运行带有 Bing Map 集成的 Windows 8 1 应用程序时 出现以下错误 Windows UI Xaml Markup XamlParseException 类型的异常 发生在 DistanceApp exe 中 但未在用户
  • 将变量分配给另一个变量,并将一个变量的更改反映到另一个变量中

    是否可以将一个变量分配给另一个变量 并且当您更改第二个变量时 更改会瀑布式下降到第一个变量 像这样 int a 0 int b a b 1 现在 b 和 a 都 1 我问这个问题的原因是因为我有 4 个要跟踪的对象 并且我使用名为 curr
  • 更改显示的 DPI 缩放大小使 Qt 应用程序的字体大小渲染得更大

    我使用 Qt 创建了一些 GUI 应用程序 我的 GUI 应用程序包含按钮和单选按钮等控件 当我运行应用程序时 按钮内的按钮和字体看起来正常 当我将显示器的 DPI 缩放大小从 100 更改为 150 或 200 时 无论分辨率如何 控件的
  • 如何将字符串“07:35”(HH:MM) 转换为 TimeSpan

    我想知道是否有办法将 24 小时时间格式的字符串转换为 TimeSpan 现在我有一种 旧时尚风格 string stringTime 07 35 string values stringTime Split TimeSpan ts new
  • 为什么 strtok 会导致分段错误?

    为什么下面的代码给出了Seg 最后一行有问题吗 char m ReadName printf nRead String s n m Writes OK char token token strtok m 如前所述 读取字符串打印没有问题 但

随机推荐

  • 我被刮伤了,我该如何防止这种情况发生?

    运行 IIS 7 每周几次 我会看到来自一个地理位置的 Google Analytics 上的大量点击 他们正在查看的网址序列显然是由某种算法生成的 所以我知道我正在被抓取内容 有什么办法可以防止这种情况发生吗 谷歌不只给我一个IP 这让我
  • Android 多列列表视图

    我正在为我的应用程序创建一个排行榜 高分列表 我想以 4 列显示数据 排名 名称 创建者 得分 并通过对象列表相应地填充它们 我想在列表中一次显示 5 个项目 总共 20 个项目 使列表可滚动 我找不到合适的方法来做到这一点 由于我的工作截
  • 填充内联元素的顶部和底部

    引用 Head First html 您可以在内联元素的顶部和底部添加内边距 但内边距不会影响其周围其他内联元素的间距 因此内边距会与其他内联元素重叠 a 据我理解上面的引用 向内联元素的顶部和底部添加填充不会 永远 对周围的元素产生任何影
  • 是否可以修复完整内存转储,以便不再需要运行 .imgscan /l ?

    由于某种原因 我已经开始接收来自需要运行的生产的转储 imgscan l first 现在 我倾向于使用从 powershell 脚本调用的 CDB 对转储运行小型查询 然而 运行 imgscan l每次都需要相当长的时间 是否可以以渲染的
  • 当我使用 Nightmare 时,在页面之间移动并进行抓取

    有一个网站 其中包含一个包含 25 个条目列表的页面 其中每个条目都是指向包含我需要的一些信息的页面的链接 我想进入列表页面 然后 1 点击第一个条目的链接 2 检索所有html 3 点击返回列表页面 有一个按钮 4 对所有其他列表重复此操
  • 在 libav 中读取 dumepd RTP 流

    嗨 我需要一些帮助 指导 因为我陷入了我的研究之中 问题 如何在 API 通过编程 或控制台版本中使用 gstreamer 或 avlib ffmpeg 转换 RTP 数据 Data 我有来自 TCP 上的 RTP RTCP 的 RTP 转
  • WPF 动画仅触发一次

    我有一个小椭圆 每次依赖属性设置为 true 时我都希望它闪烁 因为该属性可以在几毫秒内很快从 true 变回 false 所以我需要使用动画而不是简单样式的数据触发器来完成此操作 基本上 我只想要真正的值来 ping 椭圆上的动画
  • fwrite 内部是否调用任何锁?

    在Solaris 中 当我将dbx 连接到正在运行的堆栈之一时 我发现对fwrite 的调用导致了 lll lock wait 什么情况下会发生这种情况 fwrite 是否在内部尝试获取锁 我查看的标准 C99 和 POSIX 没有提及有关
  • 如何在詹金斯中添加管理构建?

    我试图弄清楚如何向 Jenkins 添加管理构建来管理一些构建 以及如何将参数从管理构建传递到子构建 参数化触发器插件这就是您正在寻找的 安装插件后 请参阅下面的第二个快照 去Configure您的项目的页面 搜索Build gt Add
  • 从日期数组中查找缺失的日子 javascript

    我从 API 获取了一系列日期 0 date 2016 11 17T00 00 00 1 date 2016 11 18T00 00 00 2 date 2016 11 19T00 00 00 3 date 2016 11 21T00 00
  • 如何强制 CKEditor 保留
    标签

    我正在使用最新版本的 CKEditor 迄今为止为 4 7 和标准包 并且我希望能够强制它保留换行符元素 br 我尝试使用以下配置 但没有成功 CKEDITOR replace ck allowedContent true enterMod
  • 如何在 Flutter 的 pubspec.yaml 中以正确的方式设置依赖项

    以下是 Flutter 项目中 pubspec yaml 文件中的一些依赖项示例 dependencies flutter sdk flutter cloud firestore 0 14 4 firebase core web 0 2 1
  • Sublime Text 2 控制台和 python 3

    I am able to set python3 2 for the build command in sublime text 2 and build with python3 2 but when invoking the consol
  • 使用 nodeJS 和 Gulp 任务运行器自动缩小

    我需要一些建议来改进 node 和 gulp 的自动缩小 主要目标是在开发模式下动态生成缩小文件 JS 和 LESS 并在生产模式下自动将普通文件 js 和 less 更改为缩小文件 该场景包含 NodeJS 和 ExpressJS 用于路
  • 用颜色绘制 PCA 分数

    我正在做 PCA 我想在 R 中绘制第一个主成分与第二个主成分的关系 pca lt princomp data data na action na omit plot pca scores 1 pca scores 2 或者可能是几个主要组
  • 异步和异步方法澄清?

    AFAIK 我读了很多相关内容 异步方法 not异步委托 Task
  • Go 中的“未知转义序列”错误

    我用 Go 编写了以下函数 这个想法是函数有一个字符串传递给它并返回找到的第一个 IPv4 IP 地址 如果未找到 IP 地址 则返回空字符串 func parseIp checkIpBody string string reg err r
  • 我可以在 OS X 上安装 Python 2.7.1 64 位和现有的 32 位安装吗?

    简短的介绍是否可以安装Python 2 7 1 64 32位python org在 Python 2 7 1 32 位的现有安装 来自 python org 之上 背景我安装了 wxPython 2 8 支持的 32 位版本 到目前为止 它
  • onSelectionChange 在更改选项卡时重新触发自身

    几天来我一直在尝试让一个简单的函数正常工作 但我不知道哪里出了问题 如果可以提供一些帮助 我真的很感激 背景 我有一个日历选项卡 其中包含侧面的 商店 和顶部的 日期 表格 当用户在 E7 AI200 之间单击时 我希望能够 从第 1 列和
  • 如何从c中的字符串中提取数字?

    假设我有一个像这样的字符串ab234cid s349 20kd我想提取所有数字234 349 20 我应该怎么办 你可以这样做strtol 像这样 char str ab234cid s349 20kd p str while p Whil