If you don't need to include the double-quotes within the destination string, I'd say go with something like this.
Code:
#include <stdio.h>
int main()
{
const char input[] = "\"testing\" \"I contain whitespaces\" \"56\"";
char score[16];
char name[64];
char value[16];
if ( sscanf(input, "\"%15[^\"]\" \"%63[^\"]\" \"%15[^\"]\"",
score, name, value) == 3 )
{
printf("\"%s\" \"%s\" \"%s\"\n", score, name, value);
}
return 0;
}
/* my output
"testing" "I contain whitespaces" "56"
*/
If you do need the double-quotes, I'd say write your own parsing function based on strchr or similar.