返回顶部
首页 > 资讯 > 精选 >Fscanf 并像 C 中那样省略字段
  • 556
分享到

Fscanf 并像 C 中那样省略字段

2024-02-12 17:02:17 556人浏览 八月长安
摘要

问题内容 是否可以像 C 中那样省略字段 %*s? var pid int fmt.Fscanf(r, "%*s %d", &pid)解决方法实际上,在 Go 中你无法做到这一点(至少

问题内容

是否可以像 C 中那样省略字段 %*s

var pid int
fmt.Fscanf(r, "%*s %d", &pid)

解决方法

实际上,在 Go 中你无法做到这一点(至少在 Go 1.21.0 上)。

源代码表明:

  • 格式字符串中没有省略字段的动词(如 C 语言中的 %*s):实际上,字符串的动词始终是 单个字符 (% s%v%q%X%X)
  • Fscanf 方法 迭代参数a 中的 Fscanf 数组(r io.Reader,格式字符串,a ...any))。因此,您必须a 中定义一个参数,即使您不关心它的值

如果您不想定义变量,可以使用:

var pid int
fmt.Fscanf(r, "%s %d", new(string), &pid)

其他替代方案

对于您的具体情况,要解析阅读器中的某些内容,您可以首先将阅读器读入字符串(例如 io.ReadAll):

CB835C294C06824721603abd255bd78a

然后使用 strings.Split 方法或正则表达式,例如:

  1. strings.Split
pidString := strings.Split(string(s), " ")[1]
pid, err := strconv.Atoi(pidString)
if err != nil {
    panic(err) // handle the error
}
  • 使用正则表达式:
  • re := regexp.MustCompile(`[^\s]+ (?P\d+)`) // similar to "%s %d"
    matches := re.FindStringSubmatch(s)
    pidString := matches[re.SubexpIndex("pid")]
    pid, err := strconv.Atoi(pidString)
    if err != nil {
        panic(err) // handle the error
    }
    

    可能还有其他方法,但这些应该足以说明。希望有帮助。

    以上就是Fscanf 并像 C 中那样省略字段的详细内容,更多请关注编程网其它相关文章!

    --结束END--

    本文标题: Fscanf 并像 C 中那样省略字段

    本文链接: https://lsjlt.com/news/563849.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    • Fscanf 并像 C 中那样省略字段
      问题内容 是否可以像 C 中那样省略字段 %*s? var pid int fmt.Fscanf(r, "%*s %d", &pid)解决方法实际上,在 Go 中你无法做到这一点(至少...
      99+
      2024-02-12
    • 如何进行 asn1 marshal/unmarshal 并省略字段?
      php小编苹果为您介绍如何进行asn1 marshal/unmarshal并省略字段的方法。在处理asn1编码时,我们经常需要将数据进行编码(marshal)或解码(unmarshal...
      99+
      2024-02-09
    • 如何省略 swaggo 文档中的某些字段
      今天编程网给大家带来了《如何省略 swaggo 文档中的某些字段》,其中涉及到的知识点包括等等,无论你是小白还是老手,都适合看一看哦~有好的建议也欢迎大家在评论留言,若是看完有所收获,也希望大家能多...
      99+
      2024-04-05
    • 如何在元帅中省略结构的条件字段
      小伙伴们有没有觉得学习Golang很有意思?有意思就对了!今天就给大家带来《如何在元帅中省略结构的条件字段》,以下内容将会涉及到,若是在学习中对其中部分知识点有疑问,或许看了本文就能帮到你!问题内容...
      99+
      2024-04-05
    • css中怎么实现字符串截断并加省略号
      本篇文章给大家分享的是有关css中怎么实现字符串截断并加省略号,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。<html> <...
      99+
      2024-04-02
    • unity里获取text中文字宽度并截断省略的操作
      前言 在unity的ugui中Text控件,有时我们会有各种各样的需求,比如类似html中css的text-overflow属性,希望一段文字如果不够长就全显示,如果特别长就截断并且...
      99+
      2024-04-02
    • css样式实现table中的超长字符串用省略号表示
      这篇文章主要介绍“css样式实现table中的超长字符串用省略号表示”,在日常操作中,相信很多人在css样式实现table中的超长字符串用省略号表示问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方...
      99+
      2024-04-02
    • c语言中用关键字auto作存储类别声明时可以省略吗
      本文小编为大家详细介绍“c语言中用关键字auto作存储类别声明时可以省略吗”,内容详细,步骤清晰,细节处理妥当,希望这篇“c语言中用关键字auto作存储类别声明时可以省略吗”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知...
      99+
      2023-06-26
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作