Вы имеете в виду fprintf
?
fprintf(fp, "name is %s\n", name);
fwrite
предназначен в основном для записи необработанных двоичных данных в файл, а не для вывода текста. Для вывода текста более естественно использовать fprintf
, fputs
, fputc
и т. Д.
Если вам действительно нужен fwrite
, вы должны отделить часть name
, например:
fwrite("name is ", 1, 8, fp);
fwrite(name, 1, strlen(name), fp);
fwrite("\n", 1, 1, fp);