gpt4 book ai didi

C - 使用 sscanf 忽略空格

转载 作者:行者123 更新时间:2023-11-30 15:52:31 31 4
gpt4 key购买 nike

我一直在试图解决这个问题,并且我已经找到了解决办法,但我只是想检查一下我是否遗漏了一些明显的东西。基本上,我有一系列遵循一定规则的命令。任何包含数字、ASCII 字母或某些符号的内容都是标记,<、>、|、&&、; 等是分隔符。我需要能够知道我刚刚找到了哪一个并将它们存储在一个数组中。

所以在一个 while 循环中我有

a = sscanf (cp, "%[0-9a-zA-Z!@:/-.,^+% ]", str);

我已将空格作为要查找的符号之一,因为我无法找出任何其他方法。相反,在我得到这个词(加上可能的空格)后,我打电话

 delimiters[] = " ";
token = strtok(str, delimiters);

这应该删除空格,只留下一个标记(如果没有空格,它不会改变单词)。我只是好奇是否有一种方法可以做与 sscanf 类似的事情,因为我知道如果字符串之间有空格,它已经分解字符串,但是如果你再次调用它并且它看到空格,它只是不会读取任何东西。

如果没有,那也没关系。它一直困扰着我一整天。

最佳答案

您可以将格式更改为

a = sscanf (cp, " %[0-9a-zA-Z!@:/-.,^+%]", str);

格式中的前导 ' ' 会跳过[可能为空]的空白字符序列,然后您将扫描一系列非空格可接受的标记字符。

关于C - 使用 sscanf 忽略空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14384565/

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