Я пытаюсь прочитать текстовый файл в кодировке UTF-8 с помощью fgetc и разделить каждую строку на слова. Я добавляю каждый символ в строку, пока не увижу пробел, и это будет слово. Но каждый раз, когда я читаю символ и strcat, что, к моему слову, я получаю некоторые значения мусора. Любое понимание того, почему я получаю их и как я могу удалить их?
`CHAR читается как T
WORD T �T] qcU
CHAR читается как h
WORD T �T] qcU h �x] qcU
CHAR читается как e
WORD T • 1/2 T] qCU ч •½x] qcU e •½x] qcU `
РЕДАКТИРОВАНИЕ:
char c;
char *string = malloc(1);
do
{
c = fgetc(fptr);
printf("CHAR read %c\n", c);
if (c == ' ' || c == '\r' || c == '\n')
{
//do something with the word()
free(string);
string = malloc(1);
}
else
{
strcat(string, &c);
string = realloc(string, sizeof(string) * strlen(string) + 1);
}
} // while !EOF
//free string
}