gpt4 book ai didi

c - 方括号在 sscanf 中如何工作?

转载 作者:太空宇宙 更新时间:2023-11-04 08:03:25 28 4
gpt4 key购买 nike

我正在尝试使用 sscanf 读取由整数和带引号的字符串组成的行。我的格式化字符串类似于 "\"%m[^\"]s\", %x"sscanf 给出引号内的字符串,但不给出其余的字符串在第二个字段中输入。我还尝试了 "\"%m[^\"]s%c",所以结束引号应该进入 %csscanf 再次只提供一个字段。仅使用 %s 就可以,使用 %[]s 就不行。

最佳答案

假设输入字符串是 "\"Hello there\", 32" 那么这就是 sscanf() 使用格式字符串 "\读取它的方式"%m[^\"]s\", %x":

    格式化字符串中的
  • \" 与输入中的 \" 匹配(并且被丢弃)。
  • %m[^\"]1Hello there 匹配。
  • 格式化字符串中的
  • s\"不匹配因此扫描结束。

您要使用的格式化字符串是 "\"%m[^\"]\", %x"

有关 sscanf() 及其格式化字符串的更多信息,请阅读 http://en.cppreference.com/w/c/io/fscanf和/或 the man page .

1 请注意,m 修饰符不是标准 C(即使它是 `POSIX 标准的一部分)。

关于c - 方括号在 sscanf 中如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44456974/

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