sscanf - 扫描字符串的特定部分;

sscanf - Scan certain part of string;

我有一个格式化字符串,只想提取其中的某些部分。例如:

char * str = 618/3171 259/1429 557/2842;

通过 sscanf 我想要三个变量(整数)来保存以下变量:

i = 618
j = 259
k = 557

我似乎无法正确设置格式。这是我尝试过的:

sscanf(str, "%d %d %d", &i, &j, &k);

哪个returns:

i = 618
j = 0
k = 0

在此先感谢您的帮助

试试这个代码。

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;
}

星号 (*) 跳过值。 所以不需要参数。