title: I have a really hard time with sscanf and fscanf in C
body: <p>I am trying to scan a string in from a file, but it seems the <code>fscanf()</code> only scans two things and I cannot understand why.</p>
  
  <pre><code>struct rider_profile array_assembler(FILE *fp){
      struct rider_profile new_profile;
      char buffer[150];
      int check;
  
      check = fscanf(fp, "%s \"%[^\"]\" %d %[A-Z] %[A-Z] %[0-9DNFOTL] %[0-9:]",
          new_profile.bike_race,
          new_profile.full_name,
          new_profile.rider_team,
          new_profile.rider_nationality,
          new_profile.placement_in_race,
          new_profile.race_time);
  
      printf("should be 7: %d", check);// it is only the first two that get scand.
      return new_profile;
  }
  </code></pre>
  
  <p>The string that I am trying to scan in is:</p>
  
  <pre><code>ParisRoubaix "Greg VAN AVERMAET" | 32 BMC BEL | 1 5:41:07
  </code></pre>