Como usar o sscanf em loops?

Existe uma boa maneira de fazer um loop sobre uma string comsscanf?

Digamos que eu tenha uma string parecida com esta:

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

e eu gostaria de imprimir a soma. O que eu realmente gostaria de escrever é o seguinte:

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

mas não há uma maneira limpa de obter essas informaçõessscanf. Se retornasse o número de bytes consumidos, isso seria útil. Em casos como este, pode-se apenas usarstrtok, mas seria bom poder escrever algo semelhante ao que você pode fazer a partirstdin:

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

Existe uma solução simples que estou esquecendo?

questionAnswers(1)

yourAnswerToTheQuestion