用C读取文件并拆分字符串

我有一个程序在C中读取文件。现在我想把字符串除以空格分成一个数组。 我该怎么做?

#include  int main() { char line[30]; char names[100][20]; int sizes[100]; int i = 0; FILE *fp; fp = fopen("in.txt", "rt"); if(fp == NULL) { printf("cannot open file\n"); return 0; } while(fgets(line, sizeof(line), fp) != NULL) { printf(line); i++; } fclose(fp); return 0; }