相关疑难解决方法(0)

scanf格式说明符,用于从一组字符中读取零个或多个字符

对于读取字符串中的字符,我需要非常严格。

我有一系列空格,后跟一个字符,再一系列空格。
例如:" c ""c"""" "

我需要找到一种格式说明符,该格式说明符允许我忽略该字符,但前提是该字符是该特定字符,而不是其他任何字符。此序列" e "应中止。

我曾尝试过," %*[c] "但是在某些情况下我的单元测试失败了,这使我相信" %*[c] "正在寻找一个或多个'c'而不是零或多个'c'

我写了一个小例子来帮助更好地说明我的问题。请记住,这只是一个最小的示例。中心问题是如何解析数量为零或单个字符之一。

#include <stdio.h>
#include <string.h>

unsigned match(const char * formula){
    unsigned e = 0, found = 0, s;
    char del;
    int parsed, pos, len = (int) strlen(formula); 
    const size_t soc = sizeof( char );
    del = ' ';
    parsed = sscanf_s( formula, " \" %*[(] X%*[^>]>> %u %*[)] %c …
Run Code Online (Sandbox Code Playgroud)

c formatting scanf

5
推荐指数
1
解决办法
2686
查看次数

标签 统计

c ×1

formatting ×1

scanf ×1