// get the course list write(client_fd, "BEGIN", 5); read(client_fd, msg, 128); token = strtok(msg, " "); sscanf(token, "%d", &nCourses); for (i = 0; i < nCourses; i++) { token = strtok(NULL, " "); strncpy(courses[i], token, 15); fprintf(stderr, "%s\n", token); } char *token; int nCourses; int retval; char courses[10][15]; for (token = strtok (msg, " "); token != NULL; token = strtok (NULL, " ")) { if (i == 0) { retval = sscanf (token, "%d", &nCourses); if (retval != 1) break; } else memcpy (&courses[i][0], token, strlen (token) + 1 > 15 : strlen (token) + 1 : 15); i++; }