首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在C中使用scanf进行解析

在C中使用scanf进行解析
EN

Stack Overflow用户
提问于 2016-02-02 23:55:11
回答 2查看 619关注 0票数 2

我是第一次学习C语言。

我有一个指向一个名为goalie_stat的字符串的指针(见下文)。如何使用scanf解析保存百分比,它是933,然后将933赋给一个变量,最后打印出来?

代码语言:javascript
运行
复制
char *goalie_stat = "PatRoy 2.28  933  35  12  165 199  4   5500"

char save_p = scanf("%[13-15]", goalie_stat);
printf("%s", save_p);

'933‘是字符串的第13、14和15个字符,但我知道这是不正确的

EN

回答 2

Stack Overflow用户

发布于 2016-02-03 00:03:57

您应该使用sscanf而不是scanf来解析字符串

代码语言:javascript
运行
复制
int num;
sscanf(goalie_stat, "%*s %*s %d", &num);
printf("%d", num);

%*s读取并丢弃goalie_stat的第一个单词,第二个%*s读取并丢弃下一个单词(2.28)。然后,%d读取第三个数字并将其存储在num中。

您还应该检查sscanf的返回值,看看是否成功。

票数 5
EN

Stack Overflow用户

发布于 2016-02-02 23:58:19

您应该使用sscanf()。它的用法描述如下:

http://www.tutorialspoint.com/c_standard_library/c_function_sscanf.htm

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35157995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档