我是第一次学习C语言。
我有一个指向一个名为goalie_stat的字符串的指针(见下文)。如何使用scanf解析保存百分比,它是933,然后将933赋给一个变量,最后打印出来?
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个字符,但我知道这是不正确的
发布于 2016-02-02 16:03:57
您应该使用sscanf
而不是scanf
来解析字符串
int num;
sscanf(goalie_stat, "%*s %*s %d", &num);
printf("%d", num);
%*s
读取并丢弃goalie_stat
的第一个单词,第二个%*s
读取并丢弃下一个单词(2.28)。然后,%d
读取第三个数字并将其存储在num
中。
您还应该检查sscanf
的返回值,看看是否成功。
发布于 2016-02-02 15:58:19
您应该使用sscanf()
。它的用法描述如下:
http://www.tutorialspoint.com/c_standard_library/c_function_sscanf.htm
https://stackoverflow.com/questions/35157995
复制