Prova in quest'altro modo.
codice:
#include <stdio.h>

int main()
{
	char str[]="stringa1 1234567 stringa2 stringa3 stringa4 stringa5";
	char str1[80], str2[80];
	int a;
	sscanf( str, "%s %d %[ -~]s", str1, &a, str2);
	printf("Stringa1 = '%s'\n", str1);
	printf("intero   = '%d'\n", a);
	printf("Stringa2 = '%s'\n", str2);
	return 0;
}