fork(1) download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main(void)
  5. {
  6. const char* input = "211L CRYST1 60.970 60.970 97.140 90.000 90.000 120.000 P 32 2 1";
  7. char first_token[32];
  8. char second_token[32];
  9. float float_1, float_2, float_3, float_4, float_5, float_6;
  10. char last_token[32];
  11.  
  12. if (9 == sscanf(input, "%31s %31s %f %f %f %f %f %f %31[^\n]",
  13. first_token,
  14. second_token,
  15. &float_1,
  16. &float_2,
  17. &float_3,
  18. &float_4,
  19. &float_5,
  20. &float_6,
  21. last_token))
  22. {
  23. printf("first_token=[%s]\n"
  24. "second_token=[%s]\n"
  25. "float_1=%f\n"
  26. "float_2=%f\n"
  27. "float_3=%f\n"
  28. "float_4=%f\n"
  29. "float_5=%f\n"
  30. "float_6=%f\n"
  31. "last_token=[%s]\n",
  32. first_token, second_token,
  33. float_1,
  34. float_2,
  35. float_3,
  36. float_4,
  37. float_5,
  38. float_6,
  39. last_token);
  40. }
  41.  
  42. return 0;
  43. }
  44.  
Success #stdin #stdout 0.01s 1676KB
stdin
Standard input is empty
stdout
first_token=[211L]
second_token=[CRYST1]
float_1=60.970001
float_2=60.970001
float_3=97.139999
float_4=90.000000
float_5=90.000000
float_6=120.000000
last_token=[P 32 2 1]