fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <ctype.h>
  4. #include <string.h>
  5.  
  6. #define StrSZE 81
  7.  
  8. void custatoi(char* tokenArray[], int* data, int numOfTok);
  9.  
  10. int main(void)
  11. {
  12. char str[StrSZE];
  13. char** tokenArray;
  14. int numOfToken = 0, i;
  15. int* data;
  16.  
  17. //strInput(str, maxChars);
  18. strcpy(str, "1 345 44 23");
  19.  
  20. tokenArray = malloc(sizeof(char*));
  21.  
  22. tokenArray[numOfToken] = strtok(str, " \t");
  23. while (tokenArray[numOfToken] != NULL)
  24. {
  25. printf("token: %s\n", tokenArray[numOfToken]);
  26. numOfToken++;
  27. tokenArray = realloc(tokenArray, sizeof(char*) * (numOfToken + 1));
  28. tokenArray[numOfToken] = strtok(NULL, " \t");
  29. }
  30.  
  31. data = malloc(numOfToken * sizeof(int));
  32.  
  33. custatoi(tokenArray, data, numOfToken);
  34.  
  35. for (i = 0; i < numOfToken; i++)
  36. printf("data[%d]=%d\n", i, data[i]);
  37.  
  38. return 0;
  39. }
  40.  
  41. void custatoi(char* tokenArray[], int* data, int numOfTok)
  42. {
  43. int i;
  44.  
  45. for (i=0; i < numOfTok; i++)
  46. data[i] = atoi(tokenArray[i]);
  47. }
  48.  
Success #stdin #stdout 0.01s 1808KB
stdin
Standard input is empty
stdout
token: 1
token: 345
token: 44
token: 23
data[0]=1
data[1]=345
data[2]=44
data[3]=23