Если вам не требуется FILE *
, если вам просто нужно скопировать подсчитанные символы из одного буфера (или строки) в другой, то для этого memcpy
.Например, в первом приближении вы могли бы заменить
fread(buffer, 1, 128, file);
на
memcpy(buffer, str, 128);
Теперь это будет очень плохо, если str
не содержит 128 символов.(Если бы у вашего file
было меньше 128 символов, fread
даст вам меньше 128.) Таким образом, более безопасная замена будет
int n = 128;
if(strlen(str) < n) n = strlen(str);
memcpy(buffer, str, n);