我有一个格式化的字符串,并且只想提取它的某些部分。例如:
char * str = 618/3171 259/1429 557/2842;
通过sscanf我想要三个变量(整数)来保存以下变量:
i = 618
j = 259
k = 557
我似乎无法正确格式化。这是我尝试过的:
sscanf(str, "%d %d %d", &i, &j, &k);
返回:
i = 618
j = 0
k = 0
提前感谢您的帮助
答案 0 :(得分:2)
试试这段代码。
int main()
{
const char *str = "618/3171 259/1429 557/2842";
int i, j, k;
sscanf(str, "%d/%*d %d/%*d %d/%*d", &i, &j, &k);
printf("%d %d %d", i, j, k);
return 0;
}
星号(*
)跳过值。
所以不需要参数。