>>684 sscanfの書式に注目。
----------------------------------------------------
#include <stdio.h>
main () {
  char buf[1024];
  while (NULL != fgets (buf, sizeof (buf), stdin)) {
    char name[1024];
    int id, a, b;
    float c, d, e, f;
    int count = sscanf (buf, "%d,%[^,],%d,%d,%f,%f,%f,%f",
                        &id, name, &a, &b, &c, &d, &e, &f);
    if (count != 8) continue;
    printf ("id=%d name=%s (%d %d %f %f %f %f)\n",
            id, name, a, b, c, d, e, f);
  }
}
----------------------------------------------------
39341725,山田川,66,83,198.0,4584.3,0.0,0.0
39341726,-該当なし-,-,-,-,-,-,-
39341725,アイウエオ,66,83,198.0,4584.3,0.0,0.0
----------------------------------------------------
C:\WINDOWS\デスクトップ\c-test>a < str.txt
id=39341725 name=山田川 (66 83 198.000000 4584.299805 0.000000 0.000000)
id=39341725 name=アイウエオ (66 83 198.000000 4584.299805 0.000000 0.000000)
----------------------------------------------------
s c a n f マ ン セ ー !