gpt4 book ai didi

c - sscanf 不提取模式

转载 作者:行者123 更新时间:2023-12-03 23:16:30 27 4
gpt4 key购买 nike

我试图找出我应该给 sscanf 的模式。
我有一个字符串 abcde(1GB)。我想提取 1 和 GB。我在用

    char list[]= "abcde(1GB)";
int memory_size =0;
char unit[3]={0} ;
sscanf(list, "%*s%d%s" , &memory_size, unit);

我在打印时没有看到提取的 token ,我在单元中看到 memory_size =0 和 NULL。

谢谢

最佳答案

您的 sscanf()字符串格式应为:

sscanf(list, "%*[^(](%d%[^)]" , &memory_size, unit);
  • %[^)]表示在找到字符时捕获字符并停止捕获)或字符串结尾
  • %*[^(]方法:
  • [^\(]表示在找到字符时捕获字符并停止捕获( - 与更传统的 %s 相反- 在查找空格字符时捕获字符并停止捕获"
  • *表示“读取但不存储”
  • 关于c - sscanf 不提取模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23127234/

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