fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. typedef struct {
  6. char *address;
  7. int port;
  8. unsigned int nodeId;
  9. } node;
  10.  
  11. void r(char* addr, int port, char* request, char* answer)
  12. {
  13. char a[100];
  14. answer[0] = 0;
  15. unsigned int i;
  16. for (i = 0; i < 10; ++i)
  17. {
  18. sprintf (a, "nodeId:%u nodeAddress:%s nodePort:%d\n", i, addr, port);
  19. strcat(answer, a);
  20. }
  21. }
  22.  
  23. int function (char *addr, int port, node * ft) {
  24. char request[8192], answer[8192];
  25. char *token;
  26. int c = 0;
  27.  
  28. snprintf(request, sizeof(request), "Keyword");
  29. r(addr, port, request, answer);
  30.  
  31. printf("answer at this point is:\n%s\n", answer);
  32. memset(&token, '\0', sizeof(token));
  33.  
  34. token = strtok(answer, "\n");
  35. while (token != NULL) {
  36. printf("c = %d\n", c);
  37. printf("Token:\n%s\n", token);
  38. printf("Token addr:%p\n", &token);
  39. sscanf(token,
  40. "nodeId:%u nodeAddress:%s nodePort:%d",
  41. &ft[c].nodeId, ft[c].address, &ft[c].port);
  42. printf("id: %u\n", ft[c].nodeId);
  43. printf("addr: %s\n", ft[c].address);
  44. printf("port: %d\n", ft[c].port);
  45. token = strtok(NULL, "\n");
  46. printf("Token after:\n%s\n", token);
  47. printf("==========================\n");
  48. c++;
  49. }
  50. return c;
  51. }
  52.  
  53. int main ()
  54. {
  55. node* z = malloc(sizeof(node)*100);
  56. int i;
  57. for (i = 0; i < 100; ++i)
  58. z[i].address = malloc(100);
  59. function("127.0.0.1", 6550, z);
  60. }
  61.  
Runtime error #stdin #stdout 0s 2184KB
stdin
Standard input is empty
stdout
answer at this point is:
nodeId:0 nodeAddress:127.0.0.1 nodePort:6550
nodeId:1 nodeAddress:127.0.0.1 nodePort:6550
nodeId:2 nodeAddress:127.0.0.1 nodePort:6550
nodeId:3 nodeAddress:127.0.0.1 nodePort:6550
nodeId:4 nodeAddress:127.0.0.1 nodePort:6550
nodeId:5 nodeAddress:127.0.0.1 nodePort:6550
nodeId:6 nodeAddress:127.0.0.1 nodePort:6550
nodeId:7 nodeAddress:127.0.0.1 nodePort:6550
nodeId:8 nodeAddress:127.0.0.1 nodePort:6550
nodeId:9 nodeAddress:127.0.0.1 nodePort:6550

c = 0
Token:
nodeId:0 nodeAddress:127.0.0.1 nodePort:6550
Token addr:0xbf8ef63c
id: 0
addr: 127.0.0.1
port: 6550
Token after:
nodeId:1 nodeAddress:127.0.0.1 nodePort:6550
==========================
c = 1
Token:
nodeId:1 nodeAddress:127.0.0.1 nodePort:6550
Token addr:0xbf8ef63c
id: 1
addr: 127.0.0.1
port: 6550
Token after:
nodeId:2 nodeAddress:127.0.0.1 nodePort:6550
==========================
c = 2
Token:
nodeId:2 nodeAddress:127.0.0.1 nodePort:6550
Token addr:0xbf8ef63c
id: 2
addr: 127.0.0.1
port: 6550
Token after:
nodeId:3 nodeAddress:127.0.0.1 nodePort:6550
==========================
c = 3
Token:
nodeId:3 nodeAddress:127.0.0.1 nodePort:6550
Token addr:0xbf8ef63c
id: 3
addr: 127.0.0.1
port: 6550
Token after:
nodeId:4 nodeAddress:127.0.0.1 nodePort:6550
==========================
c = 4
Token:
nodeId:4 nodeAddress:127.0.0.1 nodePort:6550
Token addr:0xbf8ef63c
id: 4
addr: 127.0.0.1
port: 6550
Token after:
nodeId:5 nodeAddress:127.0.0.1 nodePort:6550
==========================
c = 5
Token:
nodeId:5 nodeAddress:127.0.0.1 nodePort:6550
Token addr:0xbf8ef63c
id: 5
addr: 127.0.0.1
port: 6550
Token after:
nodeId:6 nodeAddress:127.0.0.1 nodePort:6550
==========================
c = 6
Token:
nodeId:6 nodeAddress:127.0.0.1 nodePort:6550
Token addr:0xbf8ef63c
id: 6
addr: 127.0.0.1
port: 6550
Token after:
nodeId:7 nodeAddress:127.0.0.1 nodePort:6550
==========================
c = 7
Token:
nodeId:7 nodeAddress:127.0.0.1 nodePort:6550
Token addr:0xbf8ef63c
id: 7
addr: 127.0.0.1
port: 6550
Token after:
nodeId:8 nodeAddress:127.0.0.1 nodePort:6550
==========================
c = 8
Token:
nodeId:8 nodeAddress:127.0.0.1 nodePort:6550
Token addr:0xbf8ef63c
id: 8
addr: 127.0.0.1
port: 6550
Token after:
nodeId:9 nodeAddress:127.0.0.1 nodePort:6550
==========================
c = 9
Token:
nodeId:9 nodeAddress:127.0.0.1 nodePort:6550
Token addr:0xbf8ef63c
id: 9
addr: 127.0.0.1
port: 6550
Token after:
(null)
==========================