fwrite是向流中写入数据,而fprintf是向流中写入格式数据。两者的共同点为向流中写入数据,至于区别可以看看两者的申明:
size_t fwrite(
const void *buffer,
size_t size,
size_t count,
FILE *stream
);
int fprintf(
FILE *stream,
const char *format [,
argument ]...
);
前者fwrite写入流stream中的数据是buffer指定的内容,内容的字节大小分别由size和count两个参数来指定,因此写入流stream中的内容有可能是乱码,但是有效的数据。
后者fprintf写入流stream中的数据则由argument来指定,并且这些argument的内容分别由format指定的格式来显示,因此写入stream的内容通常来说是文本字符流,当然,也允许写入格式乱码。
两者都可以将文本写入流stream中。比如:
fwrite("Hello world!", 1, 12, fp);
与
fprintf(fp, "%s", "Hello world!");
等价。
fwrite与fprintf的区别
最新推荐文章于 2023-10-09 21:25:38 发布