Извините, я немного опоздал на вечеринку.
Нет, fread не справится с этим. Это должно быть сделано вручную.
К счастью, это не сложно.
Мне нравится использовать возврат fread () для установки NUL так:
char buffer[16+1]; /*leaving room for '\0' */
x = fread(buffer, sizeof(char), 16, stream);
buffer[x]='\0';
и теперь у вас есть завершенная строка \ 0, и в качестве бонуса у нас есть отличная переменная x, которая фактически избавляет нас от необходимости запускать strlen (), если она нам понадобится позже. аккуратный!