在c中将作为字符串给出的版本号解析为4个不同的整数

KJF*_*KJF 1 c parsing

我有一个版本号作为字符串返回,看起来像"6.4.12.9",四个数字,每个数字用"."分隔.

我想要做的是将字符串解析为4个不同的整数.给我

int1 = 6
int2 = 4
int3 = 12
int4 = 9
Run Code Online (Sandbox Code Playgroud)

我通常会使用正则表达式,但使用C时我无法使用该选项.

nos*_*nos 7

你可以使用sscanf

int a,b,c,d;
const char *version = "1.6.3.1";
if(sscanf(version,"%d.%d.%d.%d",&a,&b,&c,&d) != 4) {
  //error parsing
} else {
  //ok, use the integers a,b,c,d
}
Run Code Online (Sandbox Code Playgroud)