相关疑难解决方法(0)

获取sscanf读取的字符数?

我正在解析一个字符串(a char*),我正在使用sscanf它将字符串中的数字解析为双精度数,如下所示:

// char* expression;
double value = 0;
sscanf(expression, "%lf", &value);
Run Code Online (Sandbox Code Playgroud)

这很好用,但我想继续通过常规方法解析字符串.我需要知道已经解析了多少个字符,sscanf以便我可以从新的偏移量恢复手动解析.

显然,最简单的办法就是以某种方式计算出的字符数sscanf分析,但如果没有简单的方法来做到这一点,我开放的替代双解析选项.但是,我目前正在使用sscanf它,因为它快速,简单,易读.无论哪种方式,我只需要一种方法来评估double并继续解析它.

c scanf string-parsing

30
推荐指数
1
解决办法
1万
查看次数

scanf()可变长度说明符

如何使用变量指定scanf()应读入的最大字符数?

例如使用printf()你可以像这样使用*

#define MAXVAL 5
printf("Print at maximum MAXVAL chars: %.*s\n", MAXVAL, "myStringHere");
Run Code Online (Sandbox Code Playgroud)

这只会打印5个字符,如何才能scanf在MAXVAL中读取?MAXVAL必须用作长度说明符.我不能简单地做

scanf("%5s", string);
Run Code Online (Sandbox Code Playgroud)

现在我只能想到读入一个大数组scanf然后ssprintf用来将字符串存储到我的长度有限的字符串中.然而,使用长度说明符会更容易.

c scanf

11
推荐指数
2
解决办法
8381
查看次数

标签 统计

c ×2

scanf ×2

string-parsing ×1