gpt4 book ai didi

c - 在 C 的同一行中读取字符串和各种整数

转载 作者:行者123 更新时间:2023-12-02 01:37:39 25 4
gpt4 key购买 nike

我有一个名为 buffer 的字符串,其中存储了以下数据:
Rb [7, 0] 64

使用 sscanf(),我想执行以下操作:

  • 读取Rb并将其存储在名为namestring
  • 读取 7 并将其存储在名为 posxint 变量中
  • 读取 0 并将其存储在名为 posyint 变量中
  • 读取64 并将其存储在名为battery_levelint 变量中

我尝试了以下方法,但它不起作用:

sscanf(buffer, "%s[^\ ] [%d,%d] %d", name, &posx, &posy, &battery_level);

最佳答案

我看到的问题:

  1. "\" 不是有效的转义序列。
  2. "%s[^ ]" 没有按照您的预期执行。您需要使用 "%[^ ]"

你可以使用

sscanf(buffer, "%s [%d,%d] %d", name, &posx, &posy, &battery_level);

sscanf(buffer, "%[^ ] [%d,%d] %d", name, &posx, &posy, &battery_level);

两者都有效。请参阅 http://ideone.com/QNuQuY 处的工作代码

关于c - 在 C 的同一行中读取字符串和各种整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30241514/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com