In the below code, the file test.txt has the following data :
192.168.1.1-90    
192.168.2.2-80    
The output of this is not as expected. I expect the output to be
192.168.1.1    
90     
192.168.2.2   
80
The current output is
192.168.2.2    
80     
192.168.2.2     
80
I know that the pointer of str is pointing to the same address in the second iteration as well.
Im just not able to the problem. Any help would be appreciated.
#include <string.h> 
#include <stdio.h>
#include <stdlib.h>
int main() {
  FILE * fp;
  char * result[10][4];
  int i = 0;
  const char s[2] = "-";
  char temp[50];
  char * value, str[128], * string, t[20], x[29] = "192.168.2.2";
  fp = fopen("test.txt", "r");
  if (fp == NULL)
    printf("File doesn't exist\n");
  else {
    while (!feof(fp)) {
      if (fgets(str, sizeof(str), fp)) {
        /* get the first value */
        value = strtok(str, s);
        result[i][0] = value;
        printf("IP : %s\n", result[i][0]); //to be removed after testing
        /* get second value */
        value = strtok(NULL, s);
        result[i][1] = value;
        printf("PORT : %s\n", result[i][1]); //to be removed after testing
        i++;
      }
    }
    for (int k = 0; k < 2; k++) {
      for (int j = 0; j < 2; j++) {
        printf("\n%s\n", result[k][j]);
      }
    }
  }
  return (0);
}
 
     
     
     
     
    