fork download
  1. #include <stdio.h>
  2. #include <errno.h>
  3.  
  4. void FromString(const char *s)
  5. {
  6. unsigned int Stream, Type;
  7. char language[8] = {0};
  8. char* description=NULL;
  9. int n = sscanf(s, "%X %02X %7s %as", &Stream, &Type, language, &description); // 7 = MAXLANGCODE2 - 1
  10. printf("errno: %d\n", errno);
  11. printf("n=%d\n", n);
  12. printf("Stream:%u Type:%u lang:'%s'\n", Stream, Type, language);
  13. printf("desc addr:'%p'\n", description);
  14. printf("desc:'%s'\n", description); // XXX crashes here
  15. }
  16.  
  17. int main(int argc, char* argv[])
  18. {
  19. if (argc == 2)
  20. FromString((const char*)argv[1]);
  21. else
  22. FromString("1 01 deu 4:3");
  23.  
  24. return 0;
  25. }
  26.  
Success #stdin #stdout 0.01s 1808KB
stdin
Standard input is empty
stdout
errno: 0
n=4
Stream:1 Type:1 lang:'deu'
desc addr:'0x9dba008'
desc:'4:3'