Я предполагаю, что файл не открывается, и вы все равно передаете его в fgets. Ваш if (rd == NULL) не останавливает выполнение fgets, если он нулевой, он просто печатает сообщение и продолжает выполнение.
Некоторая базовая обработка ошибок:
const char* frd = "word-list.txt";
FILE *rd=fopen(frd,"r");
if(rd==NULL) {
std::cout<<"Coudn't open file"<<endl;
return 1;
}
char readLine[100];
while(fgets(readLine, 100, rd) != NULL)
{
readLine[strlen(readLine) - 1] = '\0';
char *token = NULL;
token = strtok(readLine, " ,");
insert(readLine);
}