Как использовать sscanf в циклах?

Есть ли хороший способ перебрать строку сsscanf?

Допустим, у меня есть строка, которая выглядит следующим образом:

char line[] = "100 185 400 11 1000";

и я хотел бы напечатать сумму. Что я действительно хотел бы написать это:

int n, sum = 0;
while (1 == sscanf(line, " %d", &n)) {
  sum += n;
  line += <number of bytes consumed by sscanf>
}

но нет чистого способа получить эту информацию изsscanf, Если бы он вернул количество использованных байтов, это было бы полезно. В таких случаях можно просто использоватьstrtok, но было бы неплохо иметь возможность написать что-то похожее на то, что вы можете сделать изstdin:

int n, sum = 0;
while (1 == scanf(" %d", &n)) {
  sum += n;
  // stdin is transparently advanced by scanf call
}

Есть ли простое решение, которое я забыл?

Ответы на вопрос(1)

Ваш ответ на вопрос