Я программист Java, проверяющий свою удачу в C. Я пытаюсь прочитать файл построчно, а затем подсчитать каждое отдельное слово. До сих пор мне не удавалось разделить каждую строку на слова. Я могу видеть каждую строку и правильно перебирать файл, но мой вывод - это только первое слово каждой строки. Что я здесь делаю неправильно?
char printword[1024]= "";
void print() {
printf("%s", printword);
}
main()
{
FILE* f;
errno_t err;
err = fopen_s(&f, FILE_NAME, "r");
if (&f == NULL) {
exit(EXIT_FAILURE);
}
char line[1024];
while (fgets(line, 1024, f) != NULL) {
char * word;
char *context = " ";
word = strtok(line, " ");
while (word != NULL) {
strcpy(printword, strcat(word," "));
print();
word = strtok(NULL, " ");
}
printf("\n", NULL);
}
//}
fclose(f);
printf("Press any key to continue");
getchar();
exit(0);
}